This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: alpha-dec-osf1.3: egcs-980321 won't compile _eh in libgcc2
- To: wilson at cygnus dot com
- Subject: Re: alpha-dec-osf1.3: egcs-980321 won't compile _eh in libgcc2
- From: Ian Lance Taylor <ian at cygnus dot com>
- Date: Sun, 5 Apr 1998 13:15:57 -0400
- CC: scott dot blackman at vanderbilt dot edu, egcs at cygnus dot com
Date: Thu, 02 Apr 1998 15:53:38 -0800
From: Jim Wilson <wilson@cygnus.com>
>_eh
>as0: Error: ./libgcc2.c, line 5: Symbol must have absolute value: $L23
> ldgp $29,$LSJ152-$L23($27)
>as0: Error: ./libgcc2.c, line 5: Symbol must have absolute value: $L36
> ldgp $29,$LSJ258-$L36($27)
>make: *** [libgcc2.a] Error 1
What does this mean??
This means that gcc is emitting assembler language code that the native (DEC)
assembler won't accept. If you use GNU as, it will work. If you disable
the dwarf2 exception handling support it might work with the DEC assembler.
Try adding
#define DWARF2_UNWIND_INFO 0
to the tm.h file.
OSF 1.x is so old that people are unlikely to care much about this bug, so
I doubt that it will get fixed anytime soon. We have a workaround (use GNU as)
so we can just recommend that.
Unfortunately, gas does not work particularly well on OSF/1, because
it does not generate the exception table information which the native
assembler generates. This means that the native linker complains
whenever it links objects generated by gas. The GNU linker does not
work well on OSF/1, because it does not support shared libraries.
I don't know what the right solution to this problem is. Maybe
disabling the dwarf2 exception handling is best.
Ian