[linker] Use weak definitions instead of weak declarations
authorJoshua Oreman <oremanj@rwcr.net>
Thu, 27 May 2010 00:52:44 +0000 (17:52 -0700)
committerJoshua Oreman <oremanj@rwcr.net>
Thu, 27 May 2010 00:52:44 +0000 (17:52 -0700)
commit9e9f021ba78ffdcb5a2b6a120400a9c2166eef03
tree334a0508f1cdb5b5ff298af760cbf5d571b1ee02
parent8820d4cc4f6b6712e5f61e0ba7ad4f4092231faf
[linker] Use weak definitions instead of weak declarations

This removes the need for inline safety wrappers, marginally
reducing the size penalty of weak functions, and works around an
apparent binutils bug that causes undefined weak symbols to not
actually be NULL when compiling with -fPIE (as EFI builds do).

A bug in versions of binutils prior to 2.16 (released in 2005)
will cause same-file weak definitions to not work with those
toolchains. Update the README to reflect our new dependency on
binutils >= 2.16.

Signed-off-by: Joshua Oreman <oremanj@rwcr.net>
12 files changed:
README
src/arch/i386/include/pxe_call.h
src/arch/i386/interface/pxe/pxe_call.c
src/arch/i386/interface/pxeparent/pxeparent_dhcp.c
src/arch/i386/interface/syslinux/comboot_call.c
src/include/compiler.h
src/include/gpxe/dhcp.h
src/include/gpxe/sec80211.h
src/include/usr/autoboot.h
src/net/80211/net80211.c
src/net/udp/dhcp.c
src/usr/autoboot.c