grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trunk fails to build with -O<anything other than 0>


From: Andrey Borzenkov
Subject: Re: Trunk fails to build with -O<anything other than 0>
Date: Wed, 30 Jan 2013 23:41:21 +0400

В Wed, 30 Jan 2013 18:32:39 +0000
Leif Lindholm <address@hidden> пишет:

> Our Ubuntu (12.04/12.10) build environment defaults configuring with 
> CFLAGS containing -O2. Trunk currently does not build successfully with 
> this on either my ARM platform or my x86_64 desktop.
> 
> This isn't causing any serious problems, but I thought I would report 
> what I've found.
> 
> Commit #4635 included source code changes that ended up causing build
> failures in several of the libcrypt cipher files with
> ---
> libgrubgcry_a-arcfour.o `test -f 
> 'grub-core/lib/libgcrypt-grub/cipher/arcfour.c' || echo 
> './'`grub-core/lib/libgcrypt-grub/cipher/arcfour.c
> In file included from ./include/grub/misc.h:27:0,
>                   from ./grub-core/lib/libgcrypt_wrap/cipher_wrap.h:24,
>                   from grub-core/lib/libgcrypt-grub/cipher/types.h:2,
>                   from grub-core/lib/libgcrypt-grub/cipher/arcfour.c:30:
> ./include/grub/i18n.h: In function '_':
> ./include/grub/i18n.h:56:10: error: 'LC_MESSAGES' undeclared (first use 
> in this function)
> ./include/grub/i18n.h:56:10: note: each undeclared identifier is 
> reported only once for each function it appears in
> make[3]: *** 
> [grub-core/lib/libgcrypt-grub/cipher/libgrubgcry_a-arcfour.o] Error 1
> ---
> when building the utils.
> 
> This occurs with any -O level other than -O0.
> 
> I traced the culprit down to the (system) libintl.h, which has a cute
> little section which checks if __OPTIMIZE__ is set, and if so redefines
> gettext() as a macro for dcgettext (domainname, msgid, LC_MESSAGES).
> Since this is all preprocessor driven in the C library headers, 
> -fno-builtin has no effect.
> 
> Also, when building on my x86_64 workstation only, I get a failure when
> compiling grub-core/lib/crypto.c - due to (system) fgets() ending up 
> with a warn-unused-result prototype when building with optimizations.
> 
> And, also on my workstation only, util/ieee1275/ofpath.c (system) read() 
> fails due to warn-unused-results, just like fgets() above.
> 
> All but one of these issues "go away" with -U__OPTIMIZE__ :
> grub-core/lib/libgcrypt-grub/cipher/rijndael.c gives a few screenfuls
> of warnings anyway, and only builds successfully when -O2 is removed 
> from the build command line (or -O0 is appended).
> 

I wonder why it did not happen before. Apparently, empty locale.h is
present since 2010-04-10 (rev 2311). Removing it fixes the problem, but
I presume it should not be empty in the first place.


From: Andrey Borzenkov <address@hidden>
Subject: [PATCH] remove stray locale.h

Empty locale.h caused compilation errors.

Signed-off-by: Andrey Borzenkov <address@hidden>

---
 po/POTFILES.in |    1 -
 1 file changed, 1 deletion(-)

diff --git a/grub-core/lib/posix_wrap/locale.h 
b/grub-core/lib/posix_wrap/locale.h
deleted file mode 100644
index e69de29..0000000
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 01cc53c..358de99 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -443,7 +443,6 @@
 ./grub-core/lib/posix_wrap/langinfo.h
 ./grub-core/lib/posix_wrap/limits.h
 ./grub-core/lib/posix_wrap/localcharset.h
-./grub-core/lib/posix_wrap/locale.h
 ./grub-core/lib/posix_wrap/stdint.h
 ./grub-core/lib/posix_wrap/stdio.h
 ./grub-core/lib/posix_wrap/stdlib.h
-- 
tg: (4b9ea2e..) u/locale.h (depends on: master)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]