public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/52990] New: bootstrap ia64 cross-compiler gcc (static C-only) includes a broken libgcc.a due to libunwind dependencies
@ 2012-04-14 22:32 vapier at gentoo dot org
2012-08-24 8:43 ` [Bug target/52990] " thierry.reding@avionic-design.de
2012-08-24 15:41 ` vapier at gentoo dot org
0 siblings, 2 replies; 3+ messages in thread
From: vapier at gentoo dot org @ 2012-04-14 22:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52990
Bug #: 52990
Summary: bootstrap ia64 cross-compiler gcc (static C-only)
includes a broken libgcc.a due to libunwind
dependencies
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: vapier@gentoo.org
CC: toolchain@gentoo.org
Target: ia64-linux-gnu
when building up a cross-compiler for ia64, we do:
- install binutils
- install kernel/C-library headers
- build a static C-only gcc compiler
- install glibc
- try to link a static ELF -> failure
this is due to libgcc on ia64 being dependent on libunwind symbols. when
shared libs are disabled, the libgcc.a ends up referring to __libunwind_xxx
symbols which aren't provided in the non-shared case.
specifically, we have:
- ia64 forces t-unwind in config.gcc which adds -DUSE_LIBUNWIND_EXCEPTIONS
- gcc/unwind-compat.c has a bunch of extern __libunwind_xxx decls
- libgcc/Makefile.in adds unwind-compat.o to libgcc.a when enable_shared!=yes
- gcc/config/ia64/unwind-ia64.c defines __libunwind_xxx aliases when SHARED
- unwind-ia64.o is only added to libunwind.{a,so} and never libgcc.a
so, the end libgcc.a gets unwind-compat.o which refers to __libunwind_xxx, but
doesn't get unwind-ia64.o which could possibly define them, and even if it did,
the aliases aren't enabled for static objects.
looks like we could fix this in the t-glibc-libunwind file, when enable_shared
is disabled, add the ia64 unwind objects to libgcc.a. additionally, have
unwind-ia64.c key off of not just SHARED but also STATIC_ONLY for declaring the
symbols, and have the t-glibc-unwind file build unwind-ia64.o with that.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-08-24 15:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-14 22:32 [Bug target/52990] New: bootstrap ia64 cross-compiler gcc (static C-only) includes a broken libgcc.a due to libunwind dependencies vapier at gentoo dot org
2012-08-24 8:43 ` [Bug target/52990] " thierry.reding@avionic-design.de
2012-08-24 15:41 ` vapier at gentoo dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).