* archures.c (bfd_lookup_arch): Add comment on list order.
(bfd_default_set_arch_mach): Use bfd_lookup_arch. * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default is always at head of list.
This commit is contained in:
parent
73d322b1b9
commit
99dc00929f
@ -1,3 +1,10 @@
|
|||||||
|
2002-04-20 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* archures.c (bfd_lookup_arch): Add comment on list order.
|
||||||
|
(bfd_default_set_arch_mach): Use bfd_lookup_arch.
|
||||||
|
* cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
|
||||||
|
is always at head of list.
|
||||||
|
|
||||||
2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
|
2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
|
||||||
|
|
||||||
* coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
|
* coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
|
||||||
|
@ -604,21 +604,9 @@ bfd_default_set_arch_mach (abfd, arch, mach)
|
|||||||
enum bfd_architecture arch;
|
enum bfd_architecture arch;
|
||||||
unsigned long mach;
|
unsigned long mach;
|
||||||
{
|
{
|
||||||
const bfd_arch_info_type * const *app, *ap;
|
abfd->arch_info = bfd_lookup_arch (arch, mach);
|
||||||
|
if (abfd->arch_info != NULL)
|
||||||
for (app = bfd_archures_list; *app != NULL; app++)
|
|
||||||
{
|
|
||||||
for (ap = *app; ap != NULL; ap = ap->next)
|
|
||||||
{
|
|
||||||
if (ap->arch == arch
|
|
||||||
&& (ap->mach == mach
|
|
||||||
|| (mach == 0 && ap->the_default)))
|
|
||||||
{
|
|
||||||
abfd->arch_info = ap;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
abfd->arch_info = &bfd_default_arch_struct;
|
abfd->arch_info = &bfd_default_arch_struct;
|
||||||
bfd_set_error (bfd_error_bad_value);
|
bfd_set_error (bfd_error_bad_value);
|
||||||
@ -985,7 +973,9 @@ DESCRIPTION
|
|||||||
Look for the architecure info structure which matches the
|
Look for the architecure info structure which matches the
|
||||||
arguments @var{arch} and @var{machine}. A machine of 0 matches the
|
arguments @var{arch} and @var{machine}. A machine of 0 matches the
|
||||||
machine/architecture structure which marks itself as the
|
machine/architecture structure which marks itself as the
|
||||||
default.
|
default. gdb relies on the default arch being the first
|
||||||
|
entry for the given ARCH so that all the entries for that
|
||||||
|
arch can be accessed via ap->next.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const bfd_arch_info_type *
|
const bfd_arch_info_type *
|
||||||
|
@ -50,6 +50,65 @@ powerpc_compatible (a,b)
|
|||||||
|
|
||||||
const bfd_arch_info_type bfd_powerpc_archs[] =
|
const bfd_arch_info_type bfd_powerpc_archs[] =
|
||||||
{
|
{
|
||||||
|
#if BFD_DEFAULT_TARGET_SIZE == 64 /* default arch must come first. */
|
||||||
|
{
|
||||||
|
64, /* 64 bits in a word */
|
||||||
|
64, /* 64 bits in an address */
|
||||||
|
8, /* 8 bits in a byte */
|
||||||
|
bfd_arch_powerpc,
|
||||||
|
bfd_mach_ppc64,
|
||||||
|
"powerpc",
|
||||||
|
"powerpc:common64",
|
||||||
|
3,
|
||||||
|
true, /* default for 64 bit target */
|
||||||
|
powerpc_compatible,
|
||||||
|
bfd_default_scan,
|
||||||
|
&bfd_powerpc_archs[1]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
32, /* 32 bits in a word */
|
||||||
|
32, /* 32 bits in an address */
|
||||||
|
8, /* 8 bits in a byte */
|
||||||
|
bfd_arch_powerpc,
|
||||||
|
bfd_mach_ppc, /* for the POWER/PowerPC common architecture */
|
||||||
|
"powerpc",
|
||||||
|
"powerpc:common",
|
||||||
|
3,
|
||||||
|
false,
|
||||||
|
powerpc_compatible,
|
||||||
|
bfd_default_scan,
|
||||||
|
&bfd_powerpc_archs[2],
|
||||||
|
},
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
32, /* 32 bits in a word */
|
||||||
|
32, /* 32 bits in an address */
|
||||||
|
8, /* 8 bits in a byte */
|
||||||
|
bfd_arch_powerpc,
|
||||||
|
bfd_mach_ppc, /* for the POWER/PowerPC common architecture */
|
||||||
|
"powerpc",
|
||||||
|
"powerpc:common",
|
||||||
|
3,
|
||||||
|
true, /* default for 32 bit target */
|
||||||
|
powerpc_compatible,
|
||||||
|
bfd_default_scan,
|
||||||
|
&bfd_powerpc_archs[1],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
64, /* 64 bits in a word */
|
||||||
|
64, /* 64 bits in an address */
|
||||||
|
8, /* 8 bits in a byte */
|
||||||
|
bfd_arch_powerpc,
|
||||||
|
bfd_mach_ppc64,
|
||||||
|
"powerpc",
|
||||||
|
"powerpc:common64",
|
||||||
|
3,
|
||||||
|
false,
|
||||||
|
powerpc_compatible,
|
||||||
|
bfd_default_scan,
|
||||||
|
&bfd_powerpc_archs[2]
|
||||||
|
},
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
32, /* 32 bits in an address */
|
32, /* 32 bits in an address */
|
||||||
@ -62,7 +121,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[1]
|
&bfd_powerpc_archs[3]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
@ -76,7 +135,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[2]
|
&bfd_powerpc_archs[4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
@ -90,7 +149,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[3]
|
&bfd_powerpc_archs[5]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
@ -104,7 +163,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[4]
|
&bfd_powerpc_archs[6]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
@ -118,7 +177,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[5]
|
&bfd_powerpc_archs[7]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
64, /* 64 bits in a word */
|
64, /* 64 bits in a word */
|
||||||
@ -132,7 +191,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[6]
|
&bfd_powerpc_archs[8]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
64, /* 64 bits in a word */
|
64, /* 64 bits in a word */
|
||||||
@ -146,7 +205,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[7]
|
&bfd_powerpc_archs[9]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
64, /* 64 bits in a word */
|
64, /* 64 bits in a word */
|
||||||
@ -160,7 +219,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[8]
|
&bfd_powerpc_archs[10]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
64, /* 64 bits in a word */
|
64, /* 64 bits in a word */
|
||||||
@ -174,7 +233,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[9]
|
&bfd_powerpc_archs[11]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
64, /* 64 bits in a word */
|
64, /* 64 bits in a word */
|
||||||
@ -188,7 +247,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[10]
|
&bfd_powerpc_archs[12]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
@ -202,7 +261,7 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[11]
|
&bfd_powerpc_archs[13]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
32, /* 32 bits in a word */
|
32, /* 32 bits in a word */
|
||||||
@ -216,34 +275,6 @@ const bfd_arch_info_type bfd_powerpc_archs[] =
|
|||||||
false, /* not the default */
|
false, /* not the default */
|
||||||
powerpc_compatible,
|
powerpc_compatible,
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
&bfd_powerpc_archs[12]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
64, /* 64 bits in a word */
|
|
||||||
64, /* 64 bits in an address */
|
|
||||||
8, /* 8 bits in a byte */
|
|
||||||
bfd_arch_powerpc,
|
|
||||||
bfd_mach_ppc64,
|
|
||||||
"powerpc",
|
|
||||||
"powerpc:common64",
|
|
||||||
3,
|
|
||||||
BFD_DEFAULT_TARGET_SIZE == 64, /* default for 64 bit target */
|
|
||||||
powerpc_compatible,
|
|
||||||
bfd_default_scan,
|
|
||||||
&bfd_powerpc_archs[13]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
32, /* 32 bits in a word */
|
|
||||||
32, /* 32 bits in an address */
|
|
||||||
8, /* 8 bits in a byte */
|
|
||||||
bfd_arch_powerpc,
|
|
||||||
bfd_mach_ppc, /* for the POWER/PowerPC common architecture */
|
|
||||||
"powerpc",
|
|
||||||
"powerpc:common",
|
|
||||||
3,
|
|
||||||
BFD_DEFAULT_TARGET_SIZE != 64, /* default for 32 bit target */
|
|
||||||
powerpc_compatible,
|
|
||||||
bfd_default_scan,
|
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user