1 |
/* Generic support for 64-bit ELF |
/* Generic support for 64-bit ELF |
2 |
Copyright 1993, 1995, 1998, 1999, 2001 Free Software Foundation, Inc. |
Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2004 |
3 |
|
Free Software Foundation, Inc. |
4 |
|
|
5 |
This file is part of BFD, the Binary File Descriptor library. |
This file is part of BFD, the Binary File Descriptor library. |
6 |
|
|
31 |
0, /* rightshift */ |
0, /* rightshift */ |
32 |
0, /* size (0 = byte, 1 = short, 2 = long) */ |
0, /* size (0 = byte, 1 = short, 2 = long) */ |
33 |
0, /* bitsize */ |
0, /* bitsize */ |
34 |
false, /* pc_relative */ |
FALSE, /* pc_relative */ |
35 |
0, /* bitpos */ |
0, /* bitpos */ |
36 |
complain_overflow_dont, /* complain_on_overflow */ |
complain_overflow_dont, /* complain_on_overflow */ |
37 |
NULL, /* special_function */ |
NULL, /* special_function */ |
38 |
"UNKNOWN", /* name */ |
"UNKNOWN", /* name */ |
39 |
false, /* partial_inplace */ |
FALSE, /* partial_inplace */ |
40 |
0, /* src_mask */ |
0, /* src_mask */ |
41 |
0, /* dst_mask */ |
0, /* dst_mask */ |
42 |
false); /* pcrel_offset */ |
FALSE); /* pcrel_offset */ |
43 |
|
|
44 |
static void elf_generic_info_to_howto |
static void elf_generic_info_to_howto |
45 |
PARAMS ((bfd *, arelent *, Elf64_Internal_Rela *)); |
PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); |
46 |
static void elf_generic_info_to_howto_rel |
static void elf_generic_info_to_howto_rel |
47 |
PARAMS ((bfd *, arelent *, Elf64_Internal_Rel *)); |
PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); |
48 |
static boolean elf64_generic_link_add_symbols |
static bfd_boolean elf64_generic_link_add_symbols |
49 |
PARAMS ((bfd *, struct bfd_link_info *)); |
PARAMS ((bfd *, struct bfd_link_info *)); |
50 |
|
|
51 |
static void |
static void |
52 |
elf_generic_info_to_howto (abfd, bfd_reloc, elf_reloc) |
elf_generic_info_to_howto (abfd, bfd_reloc, elf_reloc) |
53 |
bfd *abfd ATTRIBUTE_UNUSED; |
bfd *abfd ATTRIBUTE_UNUSED; |
54 |
arelent *bfd_reloc; |
arelent *bfd_reloc; |
55 |
Elf64_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED; |
Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED; |
56 |
{ |
{ |
57 |
bfd_reloc->howto = &dummy; |
bfd_reloc->howto = &dummy; |
58 |
} |
} |
61 |
elf_generic_info_to_howto_rel (abfd, bfd_reloc, elf_reloc) |
elf_generic_info_to_howto_rel (abfd, bfd_reloc, elf_reloc) |
62 |
bfd *abfd ATTRIBUTE_UNUSED; |
bfd *abfd ATTRIBUTE_UNUSED; |
63 |
arelent *bfd_reloc; |
arelent *bfd_reloc; |
64 |
Elf64_Internal_Rel *elf_reloc ATTRIBUTE_UNUSED; |
Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED; |
65 |
{ |
{ |
66 |
bfd_reloc->howto = &dummy; |
bfd_reloc->howto = &dummy; |
67 |
} |
} |
68 |
|
|
69 |
static boolean |
static bfd_boolean |
70 |
elf64_generic_link_add_symbols (abfd, info) |
elf64_generic_link_add_symbols (abfd, info) |
71 |
bfd *abfd; |
bfd *abfd; |
72 |
struct bfd_link_info *info; |
struct bfd_link_info *info; |
80 |
Elf_Internal_Ehdr *ehdrp; |
Elf_Internal_Ehdr *ehdrp; |
81 |
|
|
82 |
ehdrp = elf_elfheader (abfd); |
ehdrp = elf_elfheader (abfd); |
83 |
(*_bfd_error_handler) (_("%s: Relocations in generic ELF (EM: %d)"), |
(*_bfd_error_handler) (_("%B: Relocations in generic ELF (EM: %d)"), |
84 |
bfd_archive_filename (abfd), |
abfd, ehdrp->e_machine); |
|
ehdrp->e_machine); |
|
85 |
|
|
86 |
bfd_set_error (bfd_error_wrong_format); |
bfd_set_error (bfd_error_wrong_format); |
87 |
return false; |
return FALSE; |
88 |
} |
} |
89 |
|
|
90 |
return bfd_elf64_bfd_link_add_symbols (abfd, info); |
return bfd_elf_link_add_symbols (abfd, info); |
91 |
} |
} |
92 |
|
|
93 |
#define TARGET_LITTLE_SYM bfd_elf64_little_generic_vec |
#define TARGET_LITTLE_SYM bfd_elf64_little_generic_vec |