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.
*/