* tc-alpha.c (md_section_align): Change second argument and
return type to valueT, to agree with tc.h. (alpha_do_align): Local static array nop_pattern is now unsigned char, to avoid overflow warnings. * tc-alpha.h (md_section_align): Delete declaration. * obj-ecoff.c (ecoff_frob_file): Ensure that ecoff_data for output bfd is non-null before indirecting through it. Crock to get GP set right: * tc-alpha.c (alpha_frob_ecoff_data): Renamed from alpha_frob_file. * tc-alpha.h (tc_frob_file): Macro deleted. * obj-ecoff.c (ecoff_frob_file) [TC_ALPHA]: Call alpha_frob_ecoff_data, then fill in optional-header info with gp value and register masks.
This commit is contained in:
parent
fc6b54fdf5
commit
4a6e1a39e7
@ -652,10 +652,10 @@ alpha_fix_adjustable (f)
|
||||
return !alpha_force_relocation (f);
|
||||
}
|
||||
|
||||
unsigned long
|
||||
valueT
|
||||
md_section_align (seg, size)
|
||||
segT seg;
|
||||
unsigned long size;
|
||||
valueT size;
|
||||
{
|
||||
#ifdef OBJ_ECOFF
|
||||
/* This should probably be handled within BFD, or by pulling the
|
||||
@ -1711,7 +1711,7 @@ alpha_do_align (n, fill)
|
||||
|| !strcmp (now_seg->name, ".init")
|
||||
|| !strcmp (now_seg->name, ".fini")))
|
||||
{
|
||||
static const char nop_pattern[] = { 0x1f, 0x04, 0xff, 0x47 };
|
||||
static const unsigned char nop_pattern[] = { 0x1f, 0x04, 0xff, 0x47 };
|
||||
frag_align_pattern (n, nop_pattern, sizeof (nop_pattern));
|
||||
return 1;
|
||||
}
|
||||
@ -1862,10 +1862,8 @@ md_apply_fix (fixP, valueP)
|
||||
}
|
||||
|
||||
void
|
||||
alpha_frob_file ()
|
||||
alpha_frob_ecoff_data ()
|
||||
{
|
||||
/* This bit only works because tc_frob_file gets called before
|
||||
obj_frob_file does. Sigh. */
|
||||
select_gp_value ();
|
||||
/* $zero and $f31 are read-only */
|
||||
alpha_gprmask &= ~1;
|
||||
|
Loading…
Reference in New Issue
Block a user