mirror of
https://github.com/ipxe/ipxe
synced 2026-02-12 21:29:39 +03:00
[x86_64] Add support for compilation as an x86_64 binary
Currently the only supported platform for x86_64 is EFI. Building an EFI64 gPXE requires a version of gcc that supports __attribute__((ms_abi)). This currently means a development build of gcc; the feature should be present when gcc 4.4 is released. In the meantime; you can grab a suitable gcc tree from git://git.etherboot.org/scm/people/mcb30/gcc/.git
This commit is contained in:
@@ -59,6 +59,15 @@ __asm__ ( ".equ\t" OBJECT_SYMBOL_STR ", 0" );
|
||||
#define REQUIRE_OBJECT(object) \
|
||||
__asm__ ( ".equ\tneed_" #object ", obj_" #object );
|
||||
|
||||
/* Force visibility of all symbols to "hidden", i.e. inform gcc that
|
||||
* all symbol references resolve strictly within our final binary.
|
||||
* This avoids unnecessary PLT/GOT entries on x86_64.
|
||||
*
|
||||
* This is a stronger claim than specifying "-fvisibility=hidden",
|
||||
* since it also affects symbols marked with "extern".
|
||||
*/
|
||||
#pragma GCC visibility push(hidden)
|
||||
|
||||
/** @def DBG
|
||||
*
|
||||
* Print a debugging message.
|
||||
|
||||
Reference in New Issue
Block a user