From ff4bc37d77a0ca7286883a477adcb3aa145fc782 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Mon, 14 Dec 2020 15:46:47 -0800 Subject: Keep input SHF_GNU_RETAIN sections and strip output SHF_GNU_RETAIN for GNU/FreBSD ELFOSABIs. 2020-12-14 H.J. Lu Cary Coutant elfcpp/ PR gold/27039 * elfcpp.h (SHF): Add SHF_GNU_RETAIN. gold/ PR gold/27039 * layout.cc (Layout::layout): Strip SHF_GNU_RETAIN. * object.cc (Sized_relobj_file::Sized_relobj_file): Initialize osabi_. (Sized_relobj_file::do_layout): Keep SHF_GNU_RETAIN sections for GNU/FreBSD ELFOSABIs. * object.h (Osabi) New class. (Sized_relobj_file): Add osabi() and osabi_. * testsuite/Makefile.am (check_SCRIPTS): Add retain.sh. (check_DATA): Add retain_1.out retain_2.out. (MOSTLYCLEANFILES): Add retain_1 retain_2. (retain_1.out): New target. (retain_1): Likewise. (retain_1.o): Likewise. (retain_2.out): Likewise. (retain_2): Likewise. (retain_2.o): Likewise. * testsuite/Makefile.in: Regenerate. * testsuite/retain.sh: New file. * testsuite/retain_1.s: Likewise. * testsuite/retain_2.s: Likewise. --- gold/testsuite/retain_2.s | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 gold/testsuite/retain_2.s (limited to 'gold/testsuite/retain_2.s') diff --git a/gold/testsuite/retain_2.s b/gold/testsuite/retain_2.s new file mode 100644 index 0000000..67d86d1 --- /dev/null +++ b/gold/testsuite/retain_2.s @@ -0,0 +1,22 @@ + .section .preinit_array.01000,"aw",%preinit_array + .dc.a 0 + + .section .init_array.01000,"aw",%init_array + .dc.a 0 + + .section .fini_array.01000,"aw",%fini_array + .dc.a 0 + + .section .preinit_array.01000,"awR",%preinit_array + .dc.a 0 + + .section .init_array.01000,"awR",%init_array + .dc.a 0 + + .section .fini_array.01000,"awR",%fini_array + .dc.a 0 + + .text + .globl _start +_start: + .dc.a 0 -- cgit v1.1