Module Name: src Committed By: christos Date: Fri Jan 6 15:47:39 UTC 2023
Modified Files: src/distrib/sets/lists/comp: md.amd64 src/external/gpl3/binutils/dist/bfd: configure configure.ac src/external/gpl3/binutils/dist/ld: configure.tgt src/external/gpl3/binutils/lib/libbfd/arch/i386: config.h defs.mk src/external/gpl3/binutils/lib/libbfd/arch/x86_64: config.h src/external/gpl3/binutils/usr.bin/ld: Makefile src/external/gpl3/binutils/usr.bin/ld/arch/i386: config.h src/external/gpl3/binutils/usr.bin/ld/arch/x86_64: config.h Log Message: Turn on -z separate-code for x86, like linux has done. This splits the text and data segment load sections into two pieces, for at total of 4 PT_LOAD sections: two for text (r--, r-x) and two for data (r--, rw-). For x86_64 this changes the default max page size from 2M to 4K. To generate a diff of this commit: cvs rdiff -u -r1.291 -r1.292 src/distrib/sets/lists/comp/md.amd64 cvs rdiff -u -r1.17 -r1.18 src/external/gpl3/binutils/dist/bfd/configure cvs rdiff -u -r1.10 -r1.11 src/external/gpl3/binutils/dist/bfd/configure.ac cvs rdiff -u -r1.38 -r1.39 src/external/gpl3/binutils/dist/ld/configure.tgt cvs rdiff -u -r1.10 -r1.11 \ src/external/gpl3/binutils/lib/libbfd/arch/i386/config.h cvs rdiff -u -r1.11 -r1.12 \ src/external/gpl3/binutils/lib/libbfd/arch/i386/defs.mk cvs rdiff -u -r1.10 -r1.11 \ src/external/gpl3/binutils/lib/libbfd/arch/x86_64/config.h cvs rdiff -u -r1.35 -r1.36 src/external/gpl3/binutils/usr.bin/ld/Makefile cvs rdiff -u -r1.11 -r1.12 \ src/external/gpl3/binutils/usr.bin/ld/arch/i386/config.h cvs rdiff -u -r1.11 -r1.12 \ src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/config.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/comp/md.amd64 diff -u src/distrib/sets/lists/comp/md.amd64:1.291 src/distrib/sets/lists/comp/md.amd64:1.292 --- src/distrib/sets/lists/comp/md.amd64:1.291 Wed Dec 28 17:04:05 2022 +++ src/distrib/sets/lists/comp/md.amd64 Fri Jan 6 10:47:38 2023 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.291 2022/12/28 22:04:05 christos Exp $ +# $NetBSD: md.amd64,v 1.292 2023/01/06 15:47:38 christos Exp $ ./usr/include/amd64 comp-c-include ./usr/include/amd64/ansi.h comp-c-include ./usr/include/amd64/aout_machdep.h comp-c-include @@ -1437,6 +1437,7 @@ ./usr/libdata/ldscripts/elf_i386.x comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xbn comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xc comp-util-bin binutils +./usr/libdata/ldscripts/elf_i386.xce comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xd comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xdc comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xdw comp-util-bin binutils @@ -1450,6 +1451,7 @@ ./usr/libdata/ldscripts/elf_iamcu.x comp-util-bin binutils ./usr/libdata/ldscripts/elf_iamcu.xbn comp-util-bin binutils ./usr/libdata/ldscripts/elf_iamcu.xc comp-util-bin binutils +./usr/libdata/ldscripts/elf_iamcu.xce comp-util-bin binutils ./usr/libdata/ldscripts/elf_iamcu.xd comp-util-bin binutils ./usr/libdata/ldscripts/elf_iamcu.xdc comp-util-bin binutils ./usr/libdata/ldscripts/elf_iamcu.xdw comp-util-bin binutils @@ -1463,6 +1465,7 @@ ./usr/libdata/ldscripts/elf_k1om.x comp-util-bin binutils=234 ./usr/libdata/ldscripts/elf_k1om.xbn comp-util-bin binutils=234 ./usr/libdata/ldscripts/elf_k1om.xc comp-util-bin binutils=234 +./usr/libdata/ldscripts/elf_k1om.xc comp-util-bin binutils=234 ./usr/libdata/ldscripts/elf_k1om.xd comp-util-bin binutils=234 ./usr/libdata/ldscripts/elf_k1om.xdc comp-util-bin binutils=234 ./usr/libdata/ldscripts/elf_k1om.xdw comp-util-bin binutils=234 @@ -1489,6 +1492,7 @@ ./usr/libdata/ldscripts/elf_x86_64.x comp-util-bin binutils ./usr/libdata/ldscripts/elf_x86_64.xbn comp-util-bin binutils ./usr/libdata/ldscripts/elf_x86_64.xc comp-util-bin binutils +./usr/libdata/ldscripts/elf_x86_64.xce comp-util-bin binutils ./usr/libdata/ldscripts/elf_x86_64.xd comp-util-bin binutils ./usr/libdata/ldscripts/elf_x86_64.xdc comp-util-bin binutils ./usr/libdata/ldscripts/elf_x86_64.xdw comp-util-bin binutils Index: src/external/gpl3/binutils/dist/bfd/configure diff -u src/external/gpl3/binutils/dist/bfd/configure:1.17 src/external/gpl3/binutils/dist/bfd/configure:1.18 --- src/external/gpl3/binutils/dist/bfd/configure:1.17 Sat Dec 24 15:17:04 2022 +++ src/external/gpl3/binutils/dist/bfd/configure Fri Jan 6 10:47:38 2023 @@ -11977,9 +11977,9 @@ if test "${enable_separate_code+set}" = esac fi -# Enable -z separate-code by default for Linux/x86. +# Enable -z separate-code by default for Linux/x86 and NetBSD/x86 case "${target}" in -i[3-7]86-*-linux-* | x86_64-*-linux-*) +i[3-7]86-*-linux-* | x86_64-*-linux-* | i[3-7]86-*-netbsd* | x86_64-*-netbsd*) if test ${ac_default_ld_z_separate_code} = unset; then ac_default_ld_z_separate_code=1 fi Index: src/external/gpl3/binutils/dist/bfd/configure.ac diff -u src/external/gpl3/binutils/dist/bfd/configure.ac:1.10 src/external/gpl3/binutils/dist/bfd/configure.ac:1.11 --- src/external/gpl3/binutils/dist/bfd/configure.ac:1.10 Sat Dec 24 15:17:04 2022 +++ src/external/gpl3/binutils/dist/bfd/configure.ac Fri Jan 6 10:47:38 2023 @@ -136,10 +136,10 @@ AC_ARG_ENABLE(separate-code, yes) ac_default_ld_z_separate_code=1 ;; no) ac_default_ld_z_separate_code=0 ;; esac]) -# Enable -z separate-code by default for Linux/x86. +# Enable -z separate-code by default for Linux/x86 and NetBSD/x86 changequote(,)dnl case "${target}" in -i[3-7]86-*-linux-* | x86_64-*-linux-*) +i[3-7]86-*-linux-* | x86_64-*-linux-* | i[3-7]86-*-netbsd | x86_64-*-netbsd* ) changequote([,])dnl if test ${ac_default_ld_z_separate_code} = unset; then ac_default_ld_z_separate_code=1 Index: src/external/gpl3/binutils/dist/ld/configure.tgt diff -u src/external/gpl3/binutils/dist/ld/configure.tgt:1.38 src/external/gpl3/binutils/dist/ld/configure.tgt:1.39 --- src/external/gpl3/binutils/dist/ld/configure.tgt:1.38 Sat Dec 24 15:17:07 2022 +++ src/external/gpl3/binutils/dist/ld/configure.tgt Fri Jan 6 10:47:38 2023 @@ -1219,7 +1219,7 @@ esac # Enable -z separate-code and --warn-textrel by default for Linux/x86. case "${target}" in -i[3-7]86-*-linux-* | x86_64-*-linux-*) +i[3-7]86-*-linux-* | x86_64-*-linux-* | i[3-7]86-*-netbsd* | x86_64-*-netbsd*) if test ${ac_default_ld_z_separate_code} = unset; then ac_default_ld_z_separate_code=1 fi Index: src/external/gpl3/binutils/lib/libbfd/arch/i386/config.h diff -u src/external/gpl3/binutils/lib/libbfd/arch/i386/config.h:1.10 src/external/gpl3/binutils/lib/libbfd/arch/i386/config.h:1.11 --- src/external/gpl3/binutils/lib/libbfd/arch/i386/config.h:1.10 Sun Dec 25 15:06:00 2022 +++ src/external/gpl3/binutils/lib/libbfd/arch/i386/config.h Fri Jan 6 10:47:38 2023 @@ -17,7 +17,7 @@ /* Define to 1 if you want to enable -z separate-code in ELF linker by default. */ -#define DEFAULT_LD_Z_SEPARATE_CODE 0 +#define DEFAULT_LD_Z_SEPARATE_CODE 1 /* Define if you want run-time sanity checks. */ /* #undef ENABLE_CHECKING */ Index: src/external/gpl3/binutils/lib/libbfd/arch/i386/defs.mk diff -u src/external/gpl3/binutils/lib/libbfd/arch/i386/defs.mk:1.11 src/external/gpl3/binutils/lib/libbfd/arch/i386/defs.mk:1.12 --- src/external/gpl3/binutils/lib/libbfd/arch/i386/defs.mk:1.11 Sun Dec 25 15:06:00 2022 +++ src/external/gpl3/binutils/lib/libbfd/arch/i386/defs.mk Fri Jan 6 10:47:38 2023 @@ -2,9 +2,9 @@ # Generated from: NetBSD: mknative-binutils,v 1.14 2022/12/24 20:17:46 christos Exp # Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp # -G_libbfd_la_DEPENDENCIES=elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-vxworks.lo elf32.lo elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo dwarf1.lo dwarf2.lo elf32-gen.lo plugin.lo cpu-i386.lo cpu-iamcu.lo netbsd-core.lo ofiles +G_libbfd_la_DEPENDENCIES=elf32-i386.lo elfxx-x86.lo elf-ifunc.lo elf-vxworks.lo elf32.lo elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-eh-frame.lo dwarf1.lo dwarf2.lo coff-i386.lo cofflink.lo coffgen.lo pei-i386.lo peigen.lo elf32-gen.lo plugin.lo cpu-i386.lo cpu-iamcu.lo netbsd-core.lo ofiles G_libbfd_la_OBJECTS=archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo coff-bfd.lo compress.lo corefile.lo elf-properties.lo format.lo hash.lo init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo binary.lo ihex.lo srec.lo tekhex.lo verilog.lo G_DEFS=-DHAVE_CONFIG_H G_INCLUDES= -G_TDEFAULTS=-DDEFAULT_VECTOR=i386_elf32_vec -DSELECT_VECS='&i386_elf32_vec,&iamcu_elf32_vec,&elf32_le_vec,&elf32_be_vec' -DSELECT_ARCHITECTURES='&bfd_i386_arch,&bfd_iamcu_arch' -G_HAVEVECS=-DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec +G_TDEFAULTS=-DDEFAULT_VECTOR=i386_elf32_vec -DSELECT_VECS='&i386_elf32_vec,&iamcu_elf32_vec,&i386_coff_vec,&i386_pei_vec,&elf32_le_vec,&elf32_be_vec' -DSELECT_ARCHITECTURES='&bfd_i386_arch,&bfd_iamcu_arch' +G_HAVEVECS=-DHAVE_i386_elf32_vec -DHAVE_iamcu_elf32_vec -DHAVE_i386_coff_vec -DHAVE_i386_pei_vec -DHAVE_elf32_le_vec -DHAVE_elf32_be_vec Index: src/external/gpl3/binutils/lib/libbfd/arch/x86_64/config.h diff -u src/external/gpl3/binutils/lib/libbfd/arch/x86_64/config.h:1.10 src/external/gpl3/binutils/lib/libbfd/arch/x86_64/config.h:1.11 --- src/external/gpl3/binutils/lib/libbfd/arch/x86_64/config.h:1.10 Sat Dec 24 15:17:08 2022 +++ src/external/gpl3/binutils/lib/libbfd/arch/x86_64/config.h Fri Jan 6 10:47:38 2023 @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-binutils,v 1.13 2020/04/04 01:34:53 christos Exp */ +/* Generated from: NetBSD: mknative-binutils,v 1.14 2022/12/24 20:17:46 christos Exp */ /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ /* config.h. Generated from config.in by configure. */ @@ -17,7 +17,7 @@ /* Define to 1 if you want to enable -z separate-code in ELF linker by default. */ -#define DEFAULT_LD_Z_SEPARATE_CODE 0 +#define DEFAULT_LD_Z_SEPARATE_CODE 1 /* Define if you want run-time sanity checks. */ /* #undef ENABLE_CHECKING */ Index: src/external/gpl3/binutils/usr.bin/ld/Makefile diff -u src/external/gpl3/binutils/usr.bin/ld/Makefile:1.35 src/external/gpl3/binutils/usr.bin/ld/Makefile:1.36 --- src/external/gpl3/binutils/usr.bin/ld/Makefile:1.35 Sat Dec 24 15:17:10 2022 +++ src/external/gpl3/binutils/usr.bin/ld/Makefile Fri Jan 6 10:47:38 2023 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.35 2022/12/24 20:17:10 christos Exp $ +# $NetBSD: Makefile,v 1.36 2023/01/06 15:47:38 christos Exp $ CPPFLAGS+= -I${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH} \ -I${DIST}/ld \ @@ -87,6 +87,13 @@ FILES+= ${f}.${e} . endif . endfor . endif +. if ${BINUTILS_MACHINE_ARCH} == "x86_64" || ${BINUTILS_MACHINE_ARCH} == "i386" +. for e in xce +. if exists(ldscripts/${f}.${e}) +FILES+= ${f}.${e} +. endif +. endfor +. endif .endfor .include <bsd.prog.mk> Index: src/external/gpl3/binutils/usr.bin/ld/arch/i386/config.h diff -u src/external/gpl3/binutils/usr.bin/ld/arch/i386/config.h:1.11 src/external/gpl3/binutils/usr.bin/ld/arch/i386/config.h:1.12 --- src/external/gpl3/binutils/usr.bin/ld/arch/i386/config.h:1.11 Sun Dec 25 15:06:01 2022 +++ src/external/gpl3/binutils/usr.bin/ld/arch/i386/config.h Fri Jan 6 10:47:38 2023 @@ -26,10 +26,10 @@ #define DEFAULT_LD_EXECSTACK 1 /* The default method for DT_TEXTREL check in ELF linker. */ -#define DEFAULT_LD_TEXTREL_CHECK textrel_check_none +#define DEFAULT_LD_TEXTREL_CHECK textrel_check_warning /* Define to 1 if DT_TEXTREL check is warning in ELF linker by default. */ -#define DEFAULT_LD_TEXTREL_CHECK_WARNING 0 +#define DEFAULT_LD_TEXTREL_CHECK_WARNING 1 /* Define to 1 if you want to enable --warn-execstack in ELF linker by default. */ @@ -44,7 +44,7 @@ /* Define to 1 if you want to enable -z separate-code in ELF linker by default. */ -#define DEFAULT_LD_Z_SEPARATE_CODE 0 +#define DEFAULT_LD_Z_SEPARATE_CODE 1 /* Define to 1 if you want to set DT_RUNPATH instead of DT_RPATH by default. */ Index: src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/config.h diff -u src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/config.h:1.11 src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/config.h:1.12 --- src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/config.h:1.11 Sat Dec 24 15:17:10 2022 +++ src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/config.h Fri Jan 6 10:47:38 2023 @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-binutils,v 1.13 2020/04/04 01:34:53 christos Exp */ +/* Generated from: NetBSD: mknative-binutils,v 1.14 2022/12/24 20:17:46 christos Exp */ /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ /* config.h. Generated from config.in by configure. */ @@ -44,7 +44,7 @@ /* Define to 1 if you want to enable -z separate-code in ELF linker by default. */ -#define DEFAULT_LD_Z_SEPARATE_CODE 0 +#define DEFAULT_LD_Z_SEPARATE_CODE 1 /* Define to 1 if you want to set DT_RUNPATH instead of DT_RPATH by default. */