From 1c9c9b9b55520b36c15af94ee0803f0922b3ca09 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 26 Jan 2021 10:48:09 +1030 Subject: PR27226, ld.bfd contains huge .rodata section This makes it possible to build ld without any compiled-in scripts, by setting COMPILE_IN=no in the environment. pe, beos and pdp11 targets didn't support scripts from the file system, with pdp11 nastily editing the ld/ldscripts file so that the built-in script didn't match. PR 27226 * emulparams/alphavms.sh: Don't set COMPILE_IN. * emulparams/elf64_ia64_vms.sh: Likewise. * emulparams/elf64mmix.sh: Likewise. * emulparams/elf_iamcu.sh: Likewise. * emulparams/elf_k1om.sh: Likewise. * emulparams/elf_l1om.sh: Likewise. * emulparams/mmo.sh: Likewise. * emulparams/pdp11.sh: Set DATA_SEG_ADDR. * scripttempl/pdp11.sc: Use it. * emultempl/pdp11.em: Don't edit .xn script for separate_code, instead use .xe script. Support scripts from file system. * emultempl/beos.em: Support scripts from file system. * emultempl/pe.em: Likewise. * emultempl/pep.em: Likewise. * testsuite/ld-bootstrap/bootstrap.exp: Make tmpdir/ldscripts link. --- ld/emulparams/alphavms.sh | 3 +-- ld/emulparams/elf64_ia64_vms.sh | 1 - ld/emulparams/elf64mmix.sh | 1 - ld/emulparams/elf_iamcu.sh | 1 - ld/emulparams/elf_k1om.sh | 1 - ld/emulparams/elf_l1om.sh | 1 - ld/emulparams/mmo.sh | 1 - ld/emulparams/pdp11.sh | 5 +++++ 8 files changed, 6 insertions(+), 8 deletions(-) (limited to 'ld/emulparams') diff --git a/ld/emulparams/alphavms.sh b/ld/emulparams/alphavms.sh index ac9b3a2..ab69c26 100644 --- a/ld/emulparams/alphavms.sh +++ b/ld/emulparams/alphavms.sh @@ -3,5 +3,4 @@ SCRIPT_NAME=alphavms OUTPUT_FORMAT="vms-alpha" ARCH=alpha -COMPILE_IN=yes -EXTRA_EM_FILE=vms \ No newline at end of file +EXTRA_EM_FILE=vms diff --git a/ld/emulparams/elf64_ia64_vms.sh b/ld/emulparams/elf64_ia64_vms.sh index 0688402..53a6a14 100644 --- a/ld/emulparams/elf64_ia64_vms.sh +++ b/ld/emulparams/elf64_ia64_vms.sh @@ -3,5 +3,4 @@ SCRIPT_NAME=ia64vms OUTPUT_FORMAT="elf64-ia64-vms" ARCH=ia64 -COMPILE_IN=yes EXTRA_EM_FILE=vms diff --git a/ld/emulparams/elf64mmix.sh b/ld/emulparams/elf64mmix.sh index 75e24be..fb7c4e3 100644 --- a/ld/emulparams/elf64mmix.sh +++ b/ld/emulparams/elf64mmix.sh @@ -16,7 +16,6 @@ DATA_ADDR='DEFINED (__.MMIX.start..data) ? __.MMIX.start..data : 0x2000000000000 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ARCH=mmix MACHINE= -COMPILE_IN=yes EXTRA_EM_FILE=mmixelf # The existence of a symbol __start (or _start) should overrule Main, so diff --git a/ld/emulparams/elf_iamcu.sh b/ld/emulparams/elf_iamcu.sh index 1cc07cc..c158223 100644 --- a/ld/emulparams/elf_iamcu.sh +++ b/ld/emulparams/elf_iamcu.sh @@ -10,7 +10,6 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH=iamcu MACHINE= -COMPILE_IN=yes TEMPLATE_NAME=elf EXTRA_EM_FILE="elf-x86" GENERATE_SHLIB_SCRIPT=yes diff --git a/ld/emulparams/elf_k1om.sh b/ld/emulparams/elf_k1om.sh index 6f15bdc..b27f5ea 100644 --- a/ld/emulparams/elf_k1om.sh +++ b/ld/emulparams/elf_k1om.sh @@ -11,7 +11,6 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH="k1om" MACHINE= -COMPILE_IN=yes TEMPLATE_NAME=elf EXTRA_EM_FILE="elf-x86" GENERATE_SHLIB_SCRIPT=yes diff --git a/ld/emulparams/elf_l1om.sh b/ld/emulparams/elf_l1om.sh index 7348c95..70d7682 100644 --- a/ld/emulparams/elf_l1om.sh +++ b/ld/emulparams/elf_l1om.sh @@ -11,7 +11,6 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH="l1om" MACHINE= -COMPILE_IN=yes TEMPLATE_NAME=elf EXTRA_EM_FILE="elf-x86" GENERATE_SHLIB_SCRIPT=yes diff --git a/ld/emulparams/mmo.sh b/ld/emulparams/mmo.sh index ca98013..6bd84d2 100644 --- a/ld/emulparams/mmo.sh +++ b/ld/emulparams/mmo.sh @@ -7,5 +7,4 @@ DATA_ADDR='DEFINED (__.MMIX.start..data) ? __.MMIX.start..data : 0x2000000000000 OUTPUT_FORMAT=mmo RELOCATEABLE_OUTPUT_FORMAT=elf64-mmix ARCH=mmix -COMPILE_IN=yes EXTRA_EM_FILE=mmo diff --git a/ld/emulparams/pdp11.sh b/ld/emulparams/pdp11.sh index 3f3326d..d79bb83 100644 --- a/ld/emulparams/pdp11.sh +++ b/ld/emulparams/pdp11.sh @@ -4,3 +4,8 @@ TEXT_START_ADDR=0 TARGET_PAGE_SIZE=8192 EXTRA_EM_FILE=pdp11 ARCH=pdp11 + +case "$LD_FLAG" in + *textonly) DATA_SEG_ADDR=0 ;; + *) DATA_SEG_ADDR=$DATA_ALIGNMENT ;; +esac -- cgit v1.1