* bfd.c (bfd_alt_mach_code): New function.
* bfd-in2.h: Rebuilt.
This commit is contained in:
parent
17ea634937
commit
8c98ec7dcc
3 changed files with 63 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2001-08-24 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* bfd.c (bfd_alt_mach_code): New function.
|
||||
* bfd-in2.h: Rebuilt.
|
||||
|
||||
2001-08-24 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* elf-m10300.c (mn10300_elf_relocate_section): Test the right
|
||||
|
|
|
@ -3296,6 +3296,9 @@ extern bfd_byte *bfd_get_relocated_section_contents
|
|||
struct bfd_link_order *, bfd_byte *,
|
||||
boolean, asymbol **));
|
||||
|
||||
boolean
|
||||
bfd_alt_mach_code PARAMS ((bfd *abfd, int index));
|
||||
|
||||
symindex
|
||||
bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
|
||||
|
||||
|
|
55
bfd/bfd.c
55
bfd/bfd.c
|
@ -1288,3 +1288,58 @@ bfd_fprintf_vma (abfd, stream, value)
|
|||
else
|
||||
fprintf_vma ((FILE *) stream, value);
|
||||
}
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
bfd_alt_mach_code
|
||||
|
||||
SYNOPSIS
|
||||
boolean bfd_alt_mach_code(bfd *abfd, int index);
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
When more than one machine code number is available for the
|
||||
same machine type, this function can be used to switch between
|
||||
the preferred one (index == 0) and any others. Currently,
|
||||
only ELF supports this feature, with up to two alternate
|
||||
machine codes.
|
||||
*/
|
||||
|
||||
boolean
|
||||
bfd_alt_mach_code (abfd, index)
|
||||
bfd *abfd;
|
||||
int index;
|
||||
{
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
{
|
||||
int code;
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case 0:
|
||||
code = get_elf_backend_data (abfd)->elf_machine_code;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
code = get_elf_backend_data (abfd)->elf_machine_alt1;
|
||||
if (code == 0)
|
||||
return false;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
code = get_elf_backend_data (abfd)->elf_machine_alt2;
|
||||
if (code == 0)
|
||||
return false;
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
elf_elfheader (abfd)->e_machine = code;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue