elflink: Don't statically initialise core_module.base_addr
authorMatt Fleming <matt.fleming@intel.com>
Thu, 15 Dec 2011 18:01:25 +0000 (18:01 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 16 Dec 2011 16:38:08 +0000 (16:38 +0000)
commitc2ac88873a32b198cff0b3ac6e07957f8d2a4f4f
treea420801aa7b6780da5535305b07dab76f494db42
parent400e21c5f4af4c688907dd8ceb8a1df321ab7f78
elflink: Don't statically initialise core_module.base_addr

The EFI firmware loader might place syslinux.efi anywhere in RAM, we
can't assume that base addr of core_module is 0x0 to initialise it at
runtime with the correct value.

Also, using __dynsym_len doesn't seem to work properly with
syslinux.efi so calculate the length at runtime.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
core/elflink/load_env32.c
core/syslinux.ld
efi/syslinux.ld