Reduce the size of s390 symbol tables by allowing relocations in mergeable string sections (eg .debug_str) to be made section relative rather than symbol relative.
PR gas/21333 * config/tc-s390.c (tc_s390_fix_adjustable): Allow non pc-relative fixups in mergeable sections to be adjusted.
This commit is contained in:
parent
938ec663b8
commit
dc1e4d6ded
@ -1,3 +1,9 @@
|
||||
2017-03-31 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR gas/21333
|
||||
* config/tc-s390.c (tc_s390_fix_adjustable): Allow non pc-relative
|
||||
fixups in mergeable sections to be adjusted.
|
||||
|
||||
2017-03-30 Pip Cet <pipcet@gmail.com>
|
||||
|
||||
* config/tc-wasm32.h: New file: Add WebAssembly assembler target.
|
||||
|
@ -2133,9 +2133,11 @@ md_pcrel_from_section (fixS *fixp, segT sec ATTRIBUTE_UNUSED)
|
||||
int
|
||||
tc_s390_fix_adjustable (fixS *fixP)
|
||||
{
|
||||
/* Don't adjust references to merge sections. */
|
||||
if ((S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
|
||||
/* Don't adjust pc-relative references to merge sections. */
|
||||
if (fixP->fx_pcrel
|
||||
&& (S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
|
||||
return 0;
|
||||
|
||||
/* adjust_reloc_syms doesn't know about the GOT. */
|
||||
if ( fixP->fx_r_type == BFD_RELOC_16_GOTOFF
|
||||
|| fixP->fx_r_type == BFD_RELOC_32_GOTOFF
|
||||
|
Loading…
Reference in New Issue
Block a user