This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix PR33608, bootstrap failure with ia64 and ada
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 22 Oct 2007 14:59:13 +0200 (CEST)
- Subject: [PATCH] Fix PR33608, bootstrap failure with ia64 and ada
The following fixes PR33608 where we end up installing an unwind.h header
that contains a call to abort () which we re-define inside gcc. It
happens that ada somewhere includes this re-define without linking to
an object that provides fancy_abort, so we'll fail bootstrap with
gcc -static-libgcc -o gnatbind ... ../libcpp/libcpp.a
../libiberty/libiberty.a ../libdecnumber/libdecnumber.a
-lmpfr -lgmp
ada/tracebak.o: In function `_Unwind_GetTextRelBase':
/usr/lib/gcc/ia64-suse-linux/4.3.0/include/unwind.h:229: undefined
reference to
`fancy_abort'
collect2: ld returned 1 exit status
make[3]: *** [gnatbind] Error 1
fixed by avoiding macro-expansion in unwind-generic.h.
Bootstrapped on ia64-unknown-linux-gnu. I'll wait a day for naysayers
or for Ada people to step up and figure out what they are doing wrong.
Thanks,
Richard.
2007-10-22 Richard Guenther <rguenther@suse.de>
PR bootstrap/33608
* unwind-generic.h (_Unwind_GetTextRelBase): Avoid macro expansion
of the call to abort.
Index: unwind-generic.h
===================================================================
*** unwind-generic.h (revision 129547)
--- unwind-generic.h (working copy)
*************** _Unwind_GetDataRelBase (struct _Unwind_C
*** 226,232 ****
static inline _Unwind_Ptr
_Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__)))
{
! abort ();
return 0;
}
--- 226,232 ----
static inline _Unwind_Ptr
_Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__)))
{
! (abort) ();
return 0;
}