diff --git a/gas/ChangeLog b/gas/ChangeLog index 3f4b71f866..82915a5550 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2004-06-10 John David Anglin + + Bug gas/213 + * config/tc-hppa.c (hppa_fix_adjustable): Allow reduction of fake + labels. Fix warning. + 2004-05-28 DJ Delorie * config/tc-mn10300.h (tc_fix_adjustable): Define. diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 72abe1dedb..8eff3664a3 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -8402,14 +8402,21 @@ int hppa_fix_adjustable (fixp) fixS *fixp; { +#ifdef OBJ_ELF reloc_type code; +#endif struct hppa_fix_struct *hppa_fix; hppa_fix = (struct hppa_fix_struct *) fixp->tc_fix_data; #ifdef OBJ_SOM - /* Reject reductions of symbols in 32bit relocs. */ - if (fixp->fx_r_type == R_HPPA && hppa_fix->fx_r_format == 32) + /* Reject reductions of symbols in 32bit relocs unless they + are fake labels. */ + if (fixp->fx_r_type == R_HPPA + && hppa_fix->fx_r_format == 32 + && strncmp (S_GET_NAME (fixp->fx_addsy), + FAKE_LABEL_NAME, + strlen (FAKE_LABEL_NAME))) return 0; #endif