possible bug in bfd/sunos.c
Ian Lance Taylor
ian@cygnus.com
Tue May 28 09:07:00 GMT 1996
Date: Tue, 28 May 1996 10:50:25 -0500 (CDT)
From: Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
I am configured for sparc-rtems which is essentially the same as
sparc-aout with different CPP_PREDEFINES. I use the following assembly
file (cut down to the point of uselessness :) ):
.text
sethi %hi(stack_space + 16 * 1024), %g1
call _main
.comm stack_space, 16 * 1024
I then run this script on it:
sparc-rtems-as -o test.o test.s
sparc-rtems-ld test.o
and get the following message:
bfd assertion fail ../../src/bfd/sunos.c:1839
If you configure for a SunOS target, the linker will automatically
generate a shared library if there are any undefined symbols in the
link. This odd behaviour is for compatibility with the SunOS linker.
In the current snapshots, the sparc-aout target does not have this
behaviour, since shared libraries are not useful for embedded systems,
but in 2.6 the sparc-aout target is the same as SunOS.
In your example, the linker is created a shared library.
The assertion failure you are getting is, as you guessed, a bug in the
assertion condition. You can just replace the BFD_ASSERT with one
from a current snapshot to avoid it. It is likely, though, that you
do not want to create a shared library at all.
Ian
More information about the Gas2
mailing list