Linking fails when using -Wl,--as-needed and/or esp. when forcing --as-needed through a compiler specs file. A proper compile/link command would look like: $(CC) $(CFLAGS) $(LDFLAGS) -o foo $(OBJS) $(LIBS). So the *FLAGS must be passed *before* the objects while the libraries/dependencies must be passed *after* the objects. For more details see: http://www.gentoo.org/proj/en/qa/asneeded.xml Change-Id: I5a5b05e1cab8a2d88ce56c92d9b2f991ca1ee6c0 Signed-off-by: Christian Ruppert <idl0r@qasl.de> Reviewed-on: http://review.coreboot.org/494 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> |
||
|---|---|---|
| .. | ||
| util/kconfig | ||
| bootlog_module.c | ||
| cbfs_module.c | ||
| COPYING | ||
| coreboot_module.c | ||
| coreinfo.c | ||
| coreinfo.h | ||
| cpuid.S | ||
| cpuinfo_module.c | ||
| Kconfig | ||
| lar_module.c | ||
| Makefile | ||
| multiboot_module.c | ||
| nvram_module.c | ||
| pci_module.c | ||
| ramdump_module.c | ||
| README | ||
This is a silly little program that demonstrates how cool libpayload is and also serves a purpose. Its fun and educational! Requirements ------------ You should use the coreboot reference cross compiler. If you insist on using your system compiler, some Linux distributions might require you to install a package called gcc-multilib if you are on a 64bit system. Build ----- You need libpayload to build coreinfo. So, first, you need follow the README of libpayload to build it but install libpayload into its own directory by doing this: $ make DESTDIR=/path/to/libpayload/install install Then you can build coreinfo now: $ cd coreinfo $ make menuconfig $ make