* elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for

R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
	* tc-hppa.c (cons_fix_new_hppa): Check for PC relative base type.
	(pa_comm): Set BSF_OBJECT in symbol flags.
This commit is contained in:
Dave Anglin 2004-03-19 19:19:53 +00:00
parent 33cb8b0f85
commit 9992270f89
4 changed files with 35 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
2004-03-19 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am".

View file

@ -812,6 +812,28 @@ elf_hppa_reloc_final_type (bfd *abfd,
}
break;
case 32:
switch (field)
{
case e_fsel:
final_type = R_PARISC_PCREL32;
break;
default:
return R_PARISC_NONE;
}
break;
case 64:
switch (field)
{
case e_fsel:
final_type = R_PARISC_PCREL64;
break;
default:
return R_PARISC_NONE;
}
break;
default:
return R_PARISC_NONE;
}

View file

@ -1,3 +1,8 @@
2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* tc-hppa.c (cons_fix_new_hppa): Check for PC relative base type.
(pa_comm): Set BSF_OBJECT in symbol flags.
2004-03-19 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am".

View file

@ -1399,6 +1399,8 @@ cons_fix_new_hppa (frag, where, size, exp)
/* Get a base relocation type. */
if (is_DP_relative (*exp))
rel_type = R_HPPA_GOTOFF;
else if (is_PC_relative (*exp))
rel_type = R_HPPA_PCREL_CALL;
else if (is_complex (*exp))
rel_type = R_HPPA_COMPLEX;
else
@ -6386,6 +6388,7 @@ pa_comm (unused)
if (symbol)
{
symbol_get_bfdsym (symbol)->flags |= BSF_OBJECT;
S_SET_VALUE (symbol, size);
S_SET_SEGMENT (symbol, bfd_und_section_ptr);
S_SET_EXTERNAL (symbol);