diff options
| author | Joshua Oreman | 2010-05-27 02:52:44 +0200 |
|---|---|---|
| committer | Michael Brown | 2010-05-27 11:19:14 +0200 |
| commit | 2aad3fab233f0235f9a8f677ae7bb402f1647eb6 (patch) | |
| tree | c4630d1f9e5a2c9d21b7018c63fe20878d1c00af /src/arch/i386/interface/syslinux | |
| parent | [efi] Fix link order for elf2efi (diff) | |
| download | ipxe-2aad3fab233f0235f9a8f677ae7bb402f1647eb6.tar.gz ipxe-2aad3fab233f0235f9a8f677ae7bb402f1647eb6.tar.xz ipxe-2aad3fab233f0235f9a8f677ae7bb402f1647eb6.zip | |
[build] 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>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/i386/interface/syslinux')
| -rw-r--r-- | src/arch/i386/interface/syslinux/comboot_call.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/arch/i386/interface/syslinux/comboot_call.c b/src/arch/i386/interface/syslinux/comboot_call.c index b1489efd0..0c52b28a8 100644 --- a/src/arch/i386/interface/syslinux/comboot_call.c +++ b/src/arch/i386/interface/syslinux/comboot_call.c @@ -319,6 +319,20 @@ static __asmcall void int21 ( struct i386_all_regs *ix86 ) { /** + * Dispatch PXE API call weakly + * + * @v ix86 Registers for PXE call + * @ret present Zero if the PXE stack is present, nonzero if not + * + * A successful return only indicates that the PXE stack was available + * for dispatching the call; it says nothing about the success of + * whatever the call asked for. + */ +__weak int pxe_api_call_weak ( struct i386_all_regs *ix86 __unused ) { + return -1; +} + +/** * SYSLINUX API */ static __asmcall void int22 ( struct i386_all_regs *ix86 ) { |
