Mercurial > unleashed
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; /*