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:
Nick Clifton 2017-03-31 12:54:38 +01:00
parent 938ec663b8
commit dc1e4d6ded
2 changed files with 10 additions and 2 deletions

View File

@ -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.

View File

@ -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