* emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function.
	(RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation
	on SEGMENT_START("text-segment", ...) rather than ... alone.
	* Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing
	dependency on $(srcdir)/emulparams/elf_nacl.sh.
	* Makefile.in: Regenerate.
This commit is contained in:
Roland McGrath 2012-12-11 22:23:14 +00:00
parent 2960a434c3
commit 8634c1b4cb
4 changed files with 23 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2012-12-11 Roland McGrath <mcgrathr@google.com>
* emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function.
(RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation
on SEGMENT_START("text-segment", ...) rather than ... alone.
* Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing
dependency on $(srcdir)/emulparams/elf_nacl.sh.
* Makefile.in: Regenerate.
2012-12-05 H.J. Lu <hongjiu.lu@intel.com>
PR ld/14915

View File

@ -725,6 +725,7 @@ earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_nacl "$(tdir_armelf_nacl)"
@ -758,6 +759,7 @@ earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
$(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelfb_nacl "$(tdir_armelfb_nacl)"

View File

@ -2198,6 +2198,7 @@ earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_nacl "$(tdir_armelf_nacl)"
@ -2231,6 +2232,7 @@ earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
$(srcdir)/emulparams/armelf_nacl.sh \
$(srcdir)/emulparams/armelf_linux_eabi.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(srcdir)/emulparams/elf_nacl.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelfb_nacl "$(tdir_armelfb_nacl)"

View File

@ -2,5 +2,13 @@ ENABLE_INITFINI_ARRAY=yes
SEPARATE_CODE=yes
TEXT_START_ADDR=0x20000
NACL_RODATA_DISTANCE=0x10000000
RODATA_ADDR="${TEXT_START_ADDR} + ${NACL_RODATA_DISTANCE} + SIZEOF_HEADERS"
SHLIB_RODATA_ADDR="${NACL_RODATA_DISTANCE} + SIZEOF_HEADERS"
nacl_rodata_addr()
{
nacl_text_addr="SEGMENT_START(\"text-segment\", $1)"
nacl_rodata_addr="$nacl_text_addr + ${NACL_RODATA_DISTANCE} + SIZEOF_HEADERS"
echo "$nacl_rodata_addr"
}
RODATA_ADDR=`nacl_rodata_addr "${TEXT_START_ADDR}"`
SHLIB_RODATA_ADDR=`nacl_rodata_addr 0`