david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/include
Michael Brown ca319873bf [build] Fix %.licence build target
Our use of --gc-sections causes the linker to discard the symbols
defined by FILE_LICENCE(), meaning that the resulting licence
determination is incomplete.

We must use the KEEP() directive in the linker script to force the
linker to not discard the licence symbols.  Using KEEP(*(COMMON))
would be undesirable, since there are some symbols in COMMON which we
may wish to discard.

Fix by placing symbols defined by PROVIDE_SYMBOL() (which is used by
FILE_LICENCE()) into a special ".provided" section, which we then mark
with KEEP().  All such symbols are zero-length, so there is no cost in
terms of the final binary size.

Since the symbols are no longer in COMMON, the linker will reject
symbols with the same name coming from multiple objects.  We therefore
append the object name to the licence symbol, to ensure that it is
unique.

Reported-by: Marin Hannache <git@mareo.fr>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-07-16 00:50:54 +02:00
..
hci [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
ipxe [nfs] Add support for NFS protocol 2013-07-15 17:56:29 +02:00
readline [readline] Allow readline_history() to return a meaningful status 2012-10-24 23:24:43 -07:00
sys [legal] Add missing FILE_LICENCE declarations 2013-07-16 00:24:10 +02:00
usr [autoboot] Split main control flow out of main() into a new function ipxe() 2013-03-13 22:24:13 +00:00
.gitignore Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
alloca.h alloca() can be useful in some (limited) circumstances. 2007-01-11 23:19:31 +00:00
assert.h [libc] Allow assertion failures to be counted 2011-10-14 14:33:31 +01:00
big_bswap.h [nfs] Add support for NFS protocol 2013-07-15 17:56:29 +02:00
byteswap.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
coff.h Initial revision 2005-03-08 18:53:11 +00:00
compiler.h [build] Fix %.licence build target 2013-07-16 00:50:54 +02:00
cpu.h Initial revision 2005-03-08 18:53:11 +00:00
ctype.h [libc] Add isxdigit() 2010-08-17 14:44:27 +01:00
curses.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
elf.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
endian.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
errno.h [libc] Redefine low 8 bits of error code as "platform error code" 2013-04-19 13:34:13 +01:00
etherboot.h [console] Move putchar() and getchar() declarations to stdio.h 2012-03-26 14:43:52 +01:00
fs.h Initial revision 2005-03-08 18:53:11 +00:00
getopt.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
i82365.h [legal] Add FILE_LICENCE macro to some GPL-v2 files 2010-12-03 23:23:35 +00:00
libgen.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
linux_api.h [linux] Add support for accessing PCI configuration space via /proc/bus/pci 2013-07-13 12:44:45 +02:00
little_bswap.h [nfs] Add support for NFS protocol 2013-07-15 17:56:29 +02:00
mii.h [mii] Synchronise constants with current Linux include/linux/mii.h 2012-04-18 16:32:57 +01:00
nic.h [pci] Make driver PCI ID a property of the PCI device 2011-02-17 01:25:12 +00:00
old_tcp.h Moved old tcp.h to old_tcp.h, to avoid name clash with new (uIP-based) 2006-03-23 20:34:08 +00:00
pc_kbd.h Initial revision 2005-03-08 18:53:11 +00:00
pcmcia-opts.h Initial revision 2005-03-08 18:53:11 +00:00
pcmcia.h Dead code removal. 2007-07-14 15:42:26 +01:00
stdarg.h [libc] Move VA_ARG_COUNT() macro to stdarg.h 2012-03-18 12:26:33 +00:00
stddef.h [build] Default to short wchar_t in stddef.h 2013-04-28 17:43:37 +01:00
stdint.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
stdio.h [console] Move putchar() and getchar() declarations to stdio.h 2012-03-26 14:43:52 +01:00
stdlib.h [base16] Generalise base16_decode() to hex_decode() 2013-07-12 15:14:36 +02:00
string.h [libc] Convert memcpy() from a macro to an inline function 2012-11-12 16:58:49 +00:00
strings.h [legal] Add a selection of FILE_LICENCE declarations 2009-05-18 08:33:25 +01:00
sys_info.h Initial revision 2005-03-08 18:53:11 +00:00
syslog.h [console] Add LOG_ALL as a synonym for LOG_DEBUG 2012-03-27 11:14:36 +01:00
time.h [legal] Add missing FILE_LICENCE declarations 2013-07-16 00:24:10 +02:00
unistd.h [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
wchar.h [libc] Add wcslen() function 2012-10-15 18:32:16 +01:00