diff options
Diffstat (limited to 'FAQ')
-rw-r--r-- | FAQ | 36 |
1 files changed, 23 insertions, 13 deletions
@@ -102,8 +102,8 @@ from your favourite mirror of prep.ai.mit.edu. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [Q5] ``Do I need a special linker or archiver?'' -[A5] {UD} If your native versions are not too buggy you can work with -them. But GNU libc works best with GNU binutils. +[A5] {UD} If your native versions are not too buggy you can probably +work with them. But GNU libc works best with GNU binutils. On systems where the native linker does not support weak symbols you will not get a really ISO C compliant C library. Generally speaking @@ -119,7 +119,7 @@ Older releases are known to have bugs that affect building the GNU C library. [A6] {UD} Yes, there are some more :-). -* lots of diskspace (for i386-linux this means, e.g., ~70MB) +* lots of diskspace (for i386-linux this means, e.g., ~70MB). You should avoid compiling on a NFS mounted device. This is very slow. @@ -130,6 +130,12 @@ Older releases are known to have bugs that affect building the GNU C library. If you are interested in some more measurements let me know. +* When compiling for Linux: + + + the header files of the Linux kernel must be available in the + search path of the CPP as <linux/*.h> and <asm/*.h>. + + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [Q7] ``When I run `nm libc.so|grep " U "' on the produced library I still find unresolved symbols? Can this be ok?'' @@ -138,7 +144,7 @@ Older releases are known to have bugs that affect building the GNU C library. symbols: * magic symbols automatically generated by the linker. Names are - often like __start_* and __stop_*- + often like __start_* and __stop_* * symbols resolved by using libgcc.a (__udivdi3, __umoddi3, or similar) @@ -161,14 +167,18 @@ and with cleanliness. With the introduction of a new version number these errors now can be corrected. Here is a list of the known source code incompatibilities: -* _GNU_SOURCE: glibc does not automatically define _GNU_SOURCE. Thus, if a - program depends on GNU extensions, it is necessary to compile it with C - compiler option -D_GNU_SOURCE, or better, to put `#define _GNU_SOURCE' at - the beginning of your source files, before any C library header files are - included. This difference normally mainfests itself in the form of - missing prototypes and/or data type definitions. Thus, if you get such - errors, the first thing you should do is try defining _GNU_SOURCE and see - if that makes the problem go away. +* _GNU_SOURCE: glibc does not automatically define _GNU_SOURCE. Thus, + if a program depends on GNU extensions or some other non-standard + functionality, it is necessary to compile it with C compiler option + -D_GNU_SOURCE, or better, to put `#define _GNU_SOURCE' at the beginning + of your source files, before any C library header files are included. + This difference normally manifests itself in the form of missing + prototypes and/or data type definitions. Thus, if you get such errors, + the first thing you should do is try defining _GNU_SOURCE and see if + that makes the problem go away. + + For more information consult the file `NOTES' part of the GNU C + library sources. * reboot(): GNU libc sanitizes the interface of reboot() to be more compatible with the interface used on other OSes. In particular, @@ -209,7 +219,7 @@ Answers were given by: {DMT} David Mosberger-Tang, <davidm@AZStarNet.com> Amended by: -{RM} Roland McGrath <roland@gnu.ai.mit.edu> +{RM} Roland McGrath, <roland@gnu.ai.mit.edu> Local Variables: mode:text |