2001-01-01 Kazu Hirata <kazu@hxi.com>

* reloc.c: Fix formatting.
	* riscix.c: Likewise.
	* rs6000-core.c: Likewise.
	* xcoff-target.h: Likewise.
This commit is contained in:
Kazu Hirata 2001-01-01 21:37:35 +00:00
parent 7dc542b23c
commit 3d85563291
5 changed files with 76 additions and 99 deletions

View file

@ -1,3 +1,10 @@
2001-01-01 Kazu Hirata <kazu@hxi.com>
* reloc.c: Fix formatting.
* riscix.c: Likewise.
* rs6000-core.c: Likewise.
* xcoff-target.h: Likewise.
2000-12-29 Hans-Peter Nilsson <hp@bitrange.com>
* elfcode.h (elf_object_p): Also restore the bfd mach field on

View file

@ -146,7 +146,6 @@ DESCRIPTION
to the relocation offset. Its interpretation is dependent upon
the howto. For example, on the 68k the code:
| char foo[];
| main()
| {
@ -161,11 +160,9 @@ DESCRIPTION
| unlk fp
| rts
This could create a reloc pointing to <<foo>>, but leave the
offset in the data, something like:
|RELOCATION RECORDS FOR [.text]:
|offset type value
|00000006 32 _foo
@ -176,21 +173,17 @@ DESCRIPTION
|0000000c 4e5e ; unlk fp
|0000000e 4e75 ; rts
Using coff and an 88k, some instructions don't have enough
space in them to represent the full address range, and
pointers have to be loaded in two parts. So you'd get something like:
| or.u r13,r0,hi16(_foo+0x12345678)
| ld.b r2,r13,lo16(_foo+0x12345678)
| jmp r1
This should create two relocs, both pointing to <<_foo>>, and with
0x12340000 in their addend field. The data would consist of:
|RELOCATION RECORDS FOR [.text]:
|offset type value
|00000002 HVRT16 _foo+0x12340000
@ -200,7 +193,6 @@ DESCRIPTION
|00000004 1c4d5678 ; ld.b r2,r13,0x5678
|00000008 f400c001 ; jmp r1
The relocation routine digs out the value from the data, adds
it to the addend to get the original offset, and then adds the
value of <<_foo>>. Note that all 32 bits have to be kept around
@ -223,7 +215,6 @@ DESCRIPTION
Both relocs contain a pointer to <<foo>>, and the offsets
contain junk.
|RELOCATION RECORDS FOR [.text]:
|offset type value
|00000004 HI22 _foo+0x12345678
@ -235,7 +226,6 @@ DESCRIPTION
|0000000c 81c7e008 ; ret
|00000010 81e80000 ; restore
o <<howto>>
The <<howto>> field can be imagined as a
@ -391,7 +381,6 @@ FUNCTION
DESCRIPTION
The HOWTO define is horrible and will go away.
.#define HOWTO(C, R,S,B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC) \
. {(unsigned)C,R,S,B, P, BI, O,SF,NAME,INPLACE,MASKSRC,MASKDST,PC}
@ -399,7 +388,6 @@ DESCRIPTION
And will be replaced with the totally magic way. But for the
moment, we are compatible, so do it this way.
.#define NEWHOWTO( FUNCTION, NAME,SIZE,REL,IN) HOWTO(0,0,SIZE,0,REL,0,complain_overflow_dont,FUNCTION, NAME,false,0,0,IN)
.
@ -589,7 +577,6 @@ DESCRIPTION
*/
bfd_reloc_status_type
bfd_perform_relocation (abfd, reloc_entry, data, input_section, output_bfd,
error_message)
@ -651,7 +638,6 @@ bfd_perform_relocation (abfd, reloc_entry, data, input_section, output_bfd,
else
relocation = symbol->value;
reloc_target_output_section = symbol->section->output_section;
/* Convert input-section-relative symbol value to absolute. */
@ -990,7 +976,6 @@ DESCRIPTION
*/
bfd_reloc_status_type
bfd_install_relocation (abfd, reloc_entry, data_start, data_start_offset,
input_section, error_message)
@ -1780,7 +1765,6 @@ displacements off that register. These relocation types are
handled specially, because the value the register will have is
decided relatively late.
ENUM
BFD_RELOC_I960_CALLJ
ENUMDOC
@ -3009,7 +2993,6 @@ CODE_FRAGMENT
.typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
*/
/*
FUNCTION
bfd_reloc_type_lookup
@ -3025,7 +3008,6 @@ DESCRIPTION
*/
reloc_howto_type *
bfd_reloc_type_lookup (abfd, code)
bfd *abfd;
@ -3037,7 +3019,6 @@ bfd_reloc_type_lookup (abfd, code)
static reloc_howto_type bfd_howto_32 =
HOWTO (0, 00, 2, 32, false, 0, complain_overflow_bitfield, 0, "VRT32", false, 0xffffffff, 0xffffffff, true);
/*
INTERNAL_FUNCTION
bfd_default_reloc_type_lookup
@ -3049,7 +3030,6 @@ SYNOPSIS
DESCRIPTION
Provides a default relocation lookup routine for any architecture.
*/
reloc_howto_type *

View file

@ -19,7 +19,6 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* RISC iX overloads the MAGIC field to indicate more than just the usual
[ZNO]MAGIC values. Also included are squeezing information and
shared library usage. */
@ -116,20 +115,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
if (bfd_get_outsymbols (abfd) != (asymbol **) NULL \
&& bfd_get_symcount (abfd) != 0) \
{ \
if (bfd_seek (abfd, (file_ptr)(N_SYMOFF(*execp)), SEEK_SET) != 0) \
if (bfd_seek (abfd, (file_ptr) (N_SYMOFF(*execp)), SEEK_SET) != 0) \
return false; \
\
if (! NAME(aout,write_syms)(abfd)) return false; \
if (! NAME(aout,write_syms) (abfd)) return false; \
\
if (bfd_seek (abfd, (file_ptr)(N_TRELOFF(*execp)), SEEK_SET) != 0) \
if (bfd_seek (abfd, (file_ptr) (N_TRELOFF(*execp)), SEEK_SET) != 0) \
return false; \
\
if (! riscix_squirt_out_relocs (abfd, obj_textsec (abfd))) \
return false; \
if (bfd_seek (abfd, (file_ptr)(N_DRELOFF(*execp)), SEEK_SET) != 0) \
if (bfd_seek (abfd, (file_ptr) (N_DRELOFF(*execp)), SEEK_SET) != 0) \
return false; \
\
if (!NAME(aout,squirt_out_relocs)(abfd, obj_datasec (abfd))) \
if (!NAME(aout,squirt_out_relocs) (abfd, obj_datasec (abfd))) \
return false; \
} \
}
@ -163,7 +162,6 @@ static reloc_howto_type riscix_std_reloc_howto[] = {
#define RISCIX_TABLE_SIZE \
(sizeof (riscix_std_reloc_howto) / sizeof (reloc_howto_type))
static bfd_reloc_status_type
riscix_fix_pcrel_26_done (abfd, reloc_entry, symbol, data, input_section,
output_bfd, error_message)
@ -308,7 +306,6 @@ riscix_swap_std_reloc_out (abfd, g, natptr)
if (r_length == 3)
r_pcrel = r_pcrel ? 0 : 1;
#if 0
/* For a standard reloc, the addend is in the object file. */
r_addend = g->addend + (*(g->sym_ptr_ptr))->section->output_section->vma;
@ -412,13 +409,12 @@ riscix_squirt_out_relocs (abfd, section)
return true;
}
/*
* This is just like the standard aoutx.h version but we need to do our
* own mapping of external reloc type values to howto entries.
*/
long
MY(canonicalize_reloc)(abfd, section, relptr, symbols)
MY(canonicalize_reloc) (abfd, section, relptr, symbols)
bfd *abfd;
sec_ptr section;
arelent **relptr;
@ -446,7 +442,7 @@ MY(canonicalize_reloc)(abfd, section, relptr, symbols)
return section->reloc_count;
}
if (!NAME(aout,slurp_reloc_table)(abfd, section, symbols))
if (!NAME(aout,slurp_reloc_table) (abfd, section, symbols))
return -1;
tblptr = section->relocation;
@ -506,7 +502,6 @@ riscix_some_aout_object_p (abfd, execp, callback_to_real_object_p)
if (N_DYNAMIC(*execp))
abfd->flags |= DYNAMIC;
if ((execp->a_info & MF_SQUEEZED) != 0) /* Squeezed files aren't supported
(yet)! */
{
@ -568,7 +563,7 @@ riscix_some_aout_object_p (abfd, execp, callback_to_real_object_p)
: (SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_HAS_CONTENTS));
obj_bsssec (abfd)->flags = SEC_ALLOC;
result = (*callback_to_real_object_p)(abfd);
result = (*callback_to_real_object_p) (abfd);
#if defined(MACH) || defined(STAT_FOR_EXEC)
/* The original heuristic doesn't work in some important cases. The
@ -611,7 +606,6 @@ riscix_some_aout_object_p (abfd, execp, callback_to_real_object_p)
return result;
}
static const bfd_target *
MY(object_p) (abfd)
bfd *abfd;
@ -634,12 +628,11 @@ MY(object_p) (abfd)
if (!(MACHTYPE_OK (N_MACHTYPE (exec)))) return 0;
#endif
NAME(aout,swap_exec_header_in)(abfd, &exec_bytes, &exec);
NAME(aout,swap_exec_header_in) (abfd, &exec_bytes, &exec);
target = riscix_some_aout_object_p (abfd, &exec, MY(callback));
return target;
}
#include "aout-target.h"

View file

@ -60,7 +60,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#undef SCNHDR
/* ------------------------------------------------------------------------ */
/* Support for core file stuff.. */
/* ------------------------------------------------------------------------ */
@ -538,9 +537,9 @@ rs6000coff_core_p (abfd)
/* .data sections from loaded objects. */
if (proc64)
size = (int)((LdInfo *)0)->l64.ldinfo_filename;
size = (int) ((LdInfo *)0)->l64.ldinfo_filename;
else
size = (int)((LdInfo *)0)->l32.ldinfo_filename;
size = (int) ((LdInfo *)0)->l32.ldinfo_filename;
while (1)
{
@ -560,7 +559,7 @@ rs6000coff_core_p (abfd)
{
ldi_core = ldinfo.l32.ldinfo_core;
ldi_datasize = ldinfo.l32.ldinfo_datasize;
ldi_dataorg = (bfd_vma)(long) ldinfo.l32.ldinfo_dataorg;
ldi_dataorg = (bfd_vma) (long) ldinfo.l32.ldinfo_dataorg;
ldi_next = ldinfo.l32.ldinfo_next;
}
@ -602,7 +601,7 @@ rs6000coff_core_p (abfd)
}
else
{
vminfo_addr = (bfd_vma)(long) vminfo.old.vminfo_addr;
vminfo_addr = (bfd_vma) (long) vminfo.old.vminfo_addr;
vminfo_size = vminfo.old.vminfo_size;
vminfo_offset = vminfo.old.vminfo_offset;
}
@ -621,8 +620,6 @@ rs6000coff_core_p (abfd)
return abfd->xvec; /* this is garbage for now. */
}
/* return `true' if given core is from the given executable.. */
boolean
rs6000coff_core_file_matches_executable_p (core_bfd, exec_bfd)
@ -646,9 +643,9 @@ rs6000coff_core_file_matches_executable_p (core_bfd, exec_bfd)
c_loader = (file_ptr) COLD_LOADER (core.old);
if (CORE_NEW (core) && CNEW_PROC64 (core.new))
size = (int)((LdInfo *)0)->l64.ldinfo_filename;
size = (int) ((LdInfo *)0)->l64.ldinfo_filename;
else
size = (int)((LdInfo *)0)->l32.ldinfo_filename;
size = (int) ((LdInfo *)0)->l32.ldinfo_filename;
if (bfd_seek (core_bfd, c_loader + size, SEEK_SET) != 0)
return false;