* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded

bfd_mach constants.
	(ecoff_get_magic): Likewise.
	* elf32-v850.c (v850_elf_object_p): Likewise.
	(v850_elf_final_write_processing): Likewise.
	* mipsbsd.c (MY(set_arch_mach)): Likewise.
	(MY(write_object_contents)): Likewise.
	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
	* coffcode.h (coff_write_object_contents): Likewise.
	(coff_set_arch_mach_hook): Add comment describing machine == 0.
	Remove unnecessary "machine" assignments.
	(coff_write_relocs): Test for the absolute section sym by testing
	section and flags.

	* pdp11.c (NAME(aout,machine_type)): Like aoutx.h.
This commit is contained in:
Alan Modra 2002-09-02 11:47:42 +00:00
parent bf5be08227
commit 250d94fd4b
7 changed files with 44 additions and 30 deletions

View File

@ -1,7 +1,22 @@
2002-09-02 Alan Modra <amodra@bigpond.net.au>
* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
bfd_mach constants.
(ecoff_get_magic): Likewise.
* elf32-v850.c (v850_elf_object_p): Likewise.
(v850_elf_final_write_processing): Likewise.
* mipsbsd.c (MY(set_arch_mach)): Likewise.
(MY(write_object_contents)): Likewise.
* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
* coffcode.h (coff_write_object_contents): Likewise.
(coff_set_arch_mach_hook): Add comment describing machine == 0.
Remove unnecessary "machine" assignments.
(coff_write_relocs): Test for the absolute section sym by testing
section and flags.
* aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
and bfd_mach_i386_i386_intel_syntax.
* pdp11.c (NAME(aout,machine_type)): Likewise.
2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>

View File

@ -1014,7 +1014,7 @@ xcoff64_write_object_contents (abfd)
internal_a.o_cputype = 4;
break;
case bfd_arch_powerpc:
if (bfd_get_mach (abfd) == 0)
if (bfd_get_mach (abfd) == bfd_mach_ppc)
internal_a.o_cputype = 3;
else
internal_a.o_cputype = 1;

View File

@ -1824,6 +1824,7 @@ coff_set_arch_mach_hook (abfd, filehdr)
enum bfd_architecture arch;
struct internal_filehdr *internal_f = (struct internal_filehdr *) filehdr;
/* Zero selects the default machine for an arch. */
machine = 0;
switch (internal_f->f_magic)
{
@ -1831,13 +1832,11 @@ coff_set_arch_mach_hook (abfd, filehdr)
case OR32_MAGIC_BIG:
case OR32_MAGIC_LITTLE:
arch = bfd_arch_or32;
machine = 0;
break;
#endif
#ifdef PPCMAGIC
case PPCMAGIC:
arch = bfd_arch_powerpc;
machine = 0; /* what does this mean? (krk) */
break;
#endif
#ifdef I386MAGIC
@ -1846,20 +1845,17 @@ coff_set_arch_mach_hook (abfd, filehdr)
case I386AIXMAGIC: /* Danbury PS/2 AIX C Compiler */
case LYNXCOFFMAGIC: /* shadows the m68k Lynx number below, sigh */
arch = bfd_arch_i386;
machine = 0;
break;
#endif
#ifdef IA64MAGIC
case IA64MAGIC:
arch = bfd_arch_ia64;
machine = 0;
break;
#endif
#ifdef A29K_MAGIC_BIG
case A29K_MAGIC_BIG:
case A29K_MAGIC_LITTLE:
arch = bfd_arch_a29k;
machine = 0;
break;
#endif
#ifdef ARMMAGIC
@ -2044,7 +2040,6 @@ coff_set_arch_mach_hook (abfd, filehdr)
#ifdef WE32KMAGIC
case WE32KMAGIC:
arch = bfd_arch_we32k;
machine = 0;
break;
#endif
@ -2082,21 +2077,18 @@ coff_set_arch_mach_hook (abfd, filehdr)
case SH_ARCH_MAGIC_WINCE:
#endif
arch = bfd_arch_sh;
machine = 0;
break;
#endif
#ifdef MIPS_ARCH_MAGIC_WINCE
case MIPS_ARCH_MAGIC_WINCE:
arch = bfd_arch_mips;
machine = 0;
break;
#endif
#ifdef H8500MAGIC
case H8500MAGIC:
arch = bfd_arch_h8500;
machine = 0;
break;
#endif
@ -2106,7 +2098,6 @@ coff_set_arch_mach_hook (abfd, filehdr)
case LYNXCOFFMAGIC:
#endif
arch = bfd_arch_sparc;
machine = 0;
break;
#endif
@ -2462,7 +2453,8 @@ coff_write_relocs (abfd, first_undef)
#ifdef SECTION_RELATIVE_ABSOLUTE_SYMBOL_P
if (SECTION_RELATIVE_ABSOLUTE_SYMBOL_P (q,s))
#else
if (q->sym_ptr_ptr == bfd_abs_section_ptr->symbol_ptr_ptr)
if ((*q->sym_ptr_ptr)->section == bfd_abs_section_ptr
&& ((*q->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0)
#endif
/* This is a relocation relative to the absolute symbol. */
n.r_symndx = -1;
@ -4116,7 +4108,7 @@ coff_write_object_contents (abfd)
internal_a.o_cputype = 4;
break;
case bfd_arch_powerpc:
if (bfd_get_mach (abfd) == 0)
if (bfd_get_mach (abfd) == bfd_mach_ppc)
internal_a.o_cputype = 3;
else
internal_a.o_cputype = 1;

View File

@ -205,21 +205,21 @@ _bfd_ecoff_set_arch_mach_hook (abfd, filehdr)
case MIPS_MAGIC_LITTLE:
case MIPS_MAGIC_BIG:
arch = bfd_arch_mips;
mach = 3000;
mach = bfd_mach_mips3000;
break;
case MIPS_MAGIC_LITTLE2:
case MIPS_MAGIC_BIG2:
/* MIPS ISA level 2: the r6000. */
arch = bfd_arch_mips;
mach = 6000;
mach = bfd_mach_mips6000;
break;
case MIPS_MAGIC_LITTLE3:
case MIPS_MAGIC_BIG3:
/* MIPS ISA level 3: the r4000. */
arch = bfd_arch_mips;
mach = 4000;
mach = bfd_mach_mips4000;
break;
case ALPHA_MAGIC:
@ -252,17 +252,17 @@ ecoff_get_magic (abfd)
{
default:
case 0:
case 3000:
case bfd_mach_mips3000:
big = MIPS_MAGIC_BIG;
little = MIPS_MAGIC_LITTLE;
break;
case 6000:
case bfd_mach_mips6000:
big = MIPS_MAGIC_BIG2;
little = MIPS_MAGIC_LITTLE2;
break;
case 4000:
case bfd_mach_mips4000:
big = MIPS_MAGIC_BIG3;
little = MIPS_MAGIC_LITTLE3;
break;

View File

@ -1848,8 +1848,12 @@ v850_elf_object_p (abfd)
switch (elf_elfheader (abfd)->e_flags & EF_V850_ARCH)
{
default:
case E_V850_ARCH: (void) bfd_default_set_arch_mach (abfd, bfd_arch_v850, 0); break;
case E_V850E_ARCH: (void) bfd_default_set_arch_mach (abfd, bfd_arch_v850, bfd_mach_v850e); break;
case E_V850_ARCH:
bfd_default_set_arch_mach (abfd, bfd_arch_v850, bfd_mach_v850);
break;
case E_V850E_ARCH:
bfd_default_set_arch_mach (abfd, bfd_arch_v850, bfd_mach_v850e);
break;
}
return true;
}
@ -1865,9 +1869,9 @@ v850_elf_final_write_processing (abfd, linker)
switch (bfd_get_mach (abfd))
{
default:
case 0: val = E_V850_ARCH; break;
case bfd_mach_v850e: val = E_V850E_ARCH; break;
default:
case bfd_mach_v850: val = E_V850_ARCH; break;
case bfd_mach_v850e: val = E_V850E_ARCH; break;
}
elf_elfheader (abfd)->e_flags &=~ EF_V850_ARCH;

View File

@ -1,5 +1,5 @@
/* BFD backend for MIPS BSD (a.out) binaries.
Copyright 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001
Copyright 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
Written by Ralph Campbell.
@ -91,12 +91,12 @@ MY(set_arch_mach) (abfd, machtype)
{
case M_MIPS1:
arch = bfd_arch_mips;
machine = 3000;
machine = bfd_mach_mips3000;
break;
case M_MIPS2:
arch = bfd_arch_mips;
machine = 4000;
machine = bfd_mach_mips4000;
break;
default:
@ -164,8 +164,8 @@ MY (write_object_contents) (abfd)
case bfd_arch_mips:
switch (bfd_get_mach (abfd))
{
case 4000:
case 6000:
case bfd_mach_mips4000:
case bfd_mach_mips6000:
N_SET_MACHTYPE (*execp, M_MIPS2);
break;
default:

View File

@ -955,7 +955,10 @@ NAME(aout,machine_type) (arch, machine, unknown)
break;
case bfd_arch_i386:
if (machine == 0) arch_flags = M_386;
if (machine == 0
|| machine == bfd_mach_i386_i386
|| machine == bfd_mach_i386_i386_intel_syntax)
arch_flags = M_386;
break;
case bfd_arch_a29k: