OSDN Git Service

Manuel and I were looking into a problem with applications failing to link
authorEric Andersen <andersen@codepoet.org>
Sun, 14 Apr 2002 03:32:14 +0000 (03:32 -0000)
committerEric Andersen <andersen@codepoet.org>
Sun, 14 Apr 2002 03:32:14 +0000 (03:32 -0000)
commit5ce9147ea3796f0dca7f8fffce8b4c398eb08915
tree2be24c643076c82822ab78c0bd07ab74a48ec9f0
parented44f35a1aa84c6e42dac46aab75e9f8fcc6d7b7
Manuel and I were looking into a problem with applications failing to link
(undefined reference to `main') when the .o file containing main was contained
in an static library(a '.a' ar archive).  It turns out that due to its single
pass nature, GNU ld was failing to pull it into the build.  This sticks a dummy
reference to main() into crt0.o, so that when an application is linked with the
main() function in a static library, we can be sure that main() actually gets
linked in.
 -Erik
12 files changed:
libc/sysdeps/linux/arm/crt0.S
libc/sysdeps/linux/h8300/crt0.S
libc/sysdeps/linux/i386/crt0.S
libc/sysdeps/linux/i386/crt0.c
libc/sysdeps/linux/m68k/crt0.S
libc/sysdeps/linux/m68k/crt0.c
libc/sysdeps/linux/mips/crt0.S
libc/sysdeps/linux/powerpc/crt0.S
libc/sysdeps/linux/powerpc/crt0.c
libc/sysdeps/linux/sh/crt0.S
libc/sysdeps/linux/sparc/crt0.c
libc/sysdeps/linux/v850/crt0.S