[LLVMdev] llvm-gcc builds on 32 bit linux broken
Bill Wendling
isanbard at gmail.com
Wed Jul 30 23:35:55 PDT 2008
I think this error is due to these changes:
Doing diffs in .:
--- ./gsyslimits.h.~1~ 2006-11-26 12:31:50.000000000 -0800
+++ ./gsyslimits.h 2007-04-02 12:37:38.000000000 -0700
@@ -4,5 +4,3 @@
instead of this text. */
#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */
-#include_next <limits.h>
-#undef _GCC_NEXT_LIMITS_H
--- ./limitx.h.~1~ 2006-11-26 12:31:48.000000000 -0800
+++ ./limitx.h 2007-04-02 13:51:40.000000000 -0700
@@ -1,12 +1,11 @@
/* This administrivia gets added to the beginning of limits.h
if the system has its own version of limits.h. */
-/* We use _GCC_LIMITS_H_ because we want this not to match
- any macros that the system's limits.h uses for its own purposes. */
-#ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */
-#define _GCC_LIMITS_H_
-
#ifndef _LIBC_LIMITS_H_
/* Use "..." so that we find syslimits.h only in this same
directory. */
#include "syslimits.h"
#endif
+#ifdef _GCC_NEXT_LIMITS_H
+#include_next <limits.h>
+#undef _GCC_NEXT_LIMITS_H
+#endif
--- ./limity.h.~1~ 2006-11-26 12:31:49.000000000 -0800
+++ ./limity.h 2007-04-02 12:33:24.000000000 -0700
@@ -1,10 +0,0 @@
-/* This administrivia gets added to the end of limits.h
- if the system has its own version of limits.h. */
-
-#else /* not _GCC_LIMITS_H_ */
-
-#ifdef _GCC_NEXT_LIMITS_H
-#include_next <limits.h> /* recurse down to the real one */
-#endif
-
-#endif /* not _GCC_LIMITS_H_ */
However, the changes were accepted by the FSF way back when:
http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00074.html
Here's the offending line in the Linux /usr/include/limits.h:
#if defined __GNUC__ && !defined _GCC_LIMITS_H_
/* `_GCC_LIMITS_H_' is what GCC's file defines. */
# include_next <limits.h>
#endif
Do you think it's sufficient to keep this bit around?
/* We use _GCC_LIMITS_H_ because we want this not to match
any macros that the system's limits.h uses for its own purposes. */
#ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */
#define _GCC_LIMITS_H_
I couldn't imagine that this was allowed to stay in the FSF compiler
if it messed up Linux. Does anyone have an idea of what the FSF GCC
GPLv2 (*NOT* GPLv3) does in this case?
-bw
On Jul 30, 2008, at 6:19 AM, Matthijs Kooijman wrote:
> Hi all,
>
> I'm having some trouble building llvm-gcc as of today, with and
> without
> bootstrap.
>
> The error I get is:
>
> /home/kooijman/src/llvm-gcc/obj/./gcc/xgcc
> -B/home/kooijman/src/llvm-gcc/obj/./gcc/
> -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/bin/
> -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/lib/
> -isystem
> /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/
> include -isystem
> /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/sys-
> include -O2
> -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes -Wold-style-definition -isystem ./include -
> I. -I.
> -I../../llvm-gcc-4.2-trunk/gcc -I../../llvm-gcc-4.2-trunk/gcc/.
> -I../../llvm-gcc-4.2-trunk/gcc/../include
> -I../../llvm-gcc-4.2-trunk/gcc/../libcpp/include
> -I../../llvm-gcc-4.2-trunk/gcc/../libdecnumber -I../libdecnumber
> -I/home/kooijman/src/llvm-trunk/include -I/home/kooijman/src/llvm-
> trunk/include
> -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions
> -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-omit-frame-
> pointer \
> -c ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c -DCRT_BEGIN \ -o
> crtbegin.o
> In file included from /home/kooijman/src/llvm-gcc/obj/./gcc/include/
> limits.h:10,
> from ../../llvm-gcc-4.2-trunk/gcc/tsystem.h:108,
> from ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c:68:
> /usr/include/limits.h:125:26: error: no include path in which to
> search for limits.h
> make[2]: *** [crtbegin.o] Error 1
> make[2]: Leaving directory `/home/kooijman/src/llvm-gcc/obj/gcc
>
>
> The last known working version is r54156 (just compiled that). The
> latest rev
> (r54208) fails for me. In between there are only merges from Apple
> GCC 4.2,
> with not so very helpful messages.
>
> I would have tried to narrow this down a bit further, but I can't
> easily check
> the commit diffs because the mailling list (archives) are down.
>
> Anyone able to reproduce this (or even, better fix it)?
>
> Gr.
>
> Matthijs
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list