changeset 20544:a24636532820

ld: relax rw+ro eh_frame section merging requirements the output section does not actually need to be relocatable for this to be ok; gnu ld will happily merge CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA and CONTENTS, ALLOC, LOAD, DATA eh_frame sections into CONTENTS, ALLOC, LOAD, READONLY, DATA this is necessary at least for bootstrap, because gcc's crt files don't have READONLY eh_frame presently.
author Lauri Tirkkonen <lotheac@iki.fi>
date Fri, 03 May 2019 18:48:54 +0000
parents 6b490b838728
children a25ea9211adc
files usr/src/cmd/sgs/libld/common/place.c
diffstat 1 files changed, 1 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/sgs/libld/common/place.c	Tue Apr 23 23:24:58 2019 +0300
+++ b/usr/src/cmd/sgs/libld/common/place.c	Fri May 03 18:48:54 2019 +0000
@@ -1067,8 +1067,7 @@
 	shflagmask =
 	    (ofl->ofl_flags & FLG_OF_RELOBJ) ? ALL_SHF_ORDER : ALL_SHF_IGNORE;
 
-	if (is_ehframe && (ofl->ofl_flags & FLG_OF_RELOBJ) &&
-	    ld_targ.t_m.m_mach == EM_386)
+	if (is_ehframe && ld_targ.t_m.m_mach == EM_386)
 		shflagmask |= SHF_WRITE;
 
 	/*