]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgcc: IA64: don't compile glibc-based unwinder without libc headers
authorSergei Trofimovich <siarheit@google.com>
Thu, 7 Apr 2022 07:36:23 +0000 (08:36 +0100)
committerSergei Trofimovich <siarheit@google.com>
Fri, 8 Apr 2022 07:01:06 +0000 (08:01 +0100)
In --without-headers mode gcc fails to bootstrap on libgcc as:

    /build/build/./gcc/xgcc -B/build/build/./gcc/ ... -Dinhibit_libc -c fde-glibc.c
    ../../../gcc-12-20220403/libgcc/config/ia64/fde-glibc.c:33:10:
        fatal error: stdlib.h: No such file or directory

Most other linux targets are able to build the --without-headers
compiler without additional effort. This change adds IA64 to the fold.

The change drops part of the code that relies on DYNAMIC glibc
section traversal for backtraces.

Tested bootstrap of ia64-unknown-linux-gnu with and without libc
headers present.

libgcc/
* config/ia64/fde-glibc.c: Make a no-op in inhibit_libc mode.

libgcc/config/ia64/fde-glibc.c

index 9caac2bca249ac2fc44deabfce2554218dde6ff3..bd74847fa859fb3a9a07173b867b3a2a3c70bbff 100644 (file)
@@ -29,6 +29,7 @@
 #define _GNU_SOURCE 1
 #endif
 #include "config.h"
+#ifndef inhibit_libc
 #include <stddef.h>
 #include <stdlib.h>
 #include <link.h>
@@ -159,3 +160,4 @@ _Unwind_FindTableEntry (void *pc, unw_word *segment_base, unw_word *gp,
 
   return data.ret;
 }
+#endif