projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix build breakage from last commit (window-nat.c:windows_create_inferior)
[deliverable/binutils-gdb.git]
/
bfd
/
elf32-i370.c
diff --git
a/bfd/elf32-i370.c
b/bfd/elf32-i370.c
index 2022aaffcaf973c0f91cde0cff7f18a093594815..f8e825fba549edc39b33aa20c3b49621c2c2c2b2 100644
(file)
--- a/
bfd/elf32-i370.c
+++ b/
bfd/elf32-i370.c
@@
-1,6
+1,5
@@
/* i370-specific support for 32-bit ELF
/* i370-specific support for 32-bit ELF
- Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1994-2017 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
Hacked by Linas Vepstas for i370 linas@linas.org
Written by Ian Lance Taylor, Cygnus Support.
Hacked by Linas Vepstas for i370 linas@linas.org
@@
-41,11
+40,11
@@
static reloc_howto_type i370_elf_howto_raw[] =
/* This reloc does nothing. */
HOWTO (R_I370_NONE, /* type */
0, /* rightshift */
/* This reloc does nothing. */
HOWTO (R_I370_NONE, /* type */
0, /* rightshift */
-
2
, /* size (0 = byte, 1 = short, 2 = long) */
-
32,
/* bitsize */
+
3
, /* size (0 = byte, 1 = short, 2 = long) */
+
0,
/* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
FALSE, /* pc_relative */
0, /* bitpos */
- complain_overflow_
bitfield
, /* complain_on_overflow */
+ complain_overflow_
dont
, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_I370_NONE", /* name */
FALSE, /* partial_inplace */
bfd_elf_generic_reloc, /* special_function */
"R_I370_NONE", /* name */
FALSE, /* partial_inplace */
@@
-295,12
+294,22
@@
i370_elf_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
arelent *cache_ptr,
Elf_Internal_Rela *dst)
{
arelent *cache_ptr,
Elf_Internal_Rela *dst)
{
+ unsigned int r_type;
+
if (!i370_elf_howto_table[ R_I370_ADDR31 ])
/* Initialize howto table. */
i370_elf_howto_init ();
if (!i370_elf_howto_table[ R_I370_ADDR31 ])
/* Initialize howto table. */
i370_elf_howto_init ();
- BFD_ASSERT (ELF32_R_TYPE (dst->r_info) < (unsigned int) R_I370_max);
- cache_ptr->howto = i370_elf_howto_table[ELF32_R_TYPE (dst->r_info)];
+ r_type = ELF32_R_TYPE (dst->r_info);
+ if (r_type >= R_I370_max)
+ {
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%B: unrecognised I370 reloc number: %d"),
+ abfd, r_type);
+ bfd_set_error (bfd_error_bad_value);
+ r_type = R_I370_NONE;
+ }
+ cache_ptr->howto = i370_elf_howto_table[r_type];
}
/* Hack alert -- the following several routines look generic to me ...
}
/* Hack alert -- the following several routines look generic to me ...
@@
-322,8
+331,9
@@
i370_elf_set_private_flags (bfd *abfd, flagword flags)
object file when linking. */
static bfd_boolean
object file when linking. */
static bfd_boolean
-i370_elf_merge_private_bfd_data (bfd *ibfd,
bfd *obfd
)
+i370_elf_merge_private_bfd_data (bfd *ibfd,
struct bfd_link_info *info
)
{
{
+ bfd *obfd = info->output_bfd;
flagword old_flags;
flagword new_flags;
flagword old_flags;
flagword new_flags;
@@
-344,8
+354,9
@@
i370_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
else /* Incompatible flags. */
{
else /* Incompatible flags. */
{
- (*_bfd_error_handler)
- ("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)",
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"),
ibfd, (long) new_flags, (long) old_flags);
bfd_set_error (bfd_error_bad_value);
ibfd, (long) new_flags, (long) old_flags);
bfd_set_error (bfd_error_bad_value);
@@
-420,23
+431,23
@@
i370_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
| SEC_LINKER_CREATED);
flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
| SEC_LINKER_CREATED);
- s = bfd_make_section_with_flags (abfd, ".dynsbss",
- SEC_ALLOC | SEC_LINKER_CREATED);
+ s = bfd_make_section_
anyway_
with_flags (abfd, ".dynsbss",
+
SEC_ALLOC | SEC_LINKER_CREATED);
if (s == NULL)
return FALSE;
if (s == NULL)
return FALSE;
- if (!
info->shared
)
+ if (!
bfd_link_pic (info)
)
{
{
- s = bfd_make_section_with_flags (abfd, ".rela.sbss",
- flags | SEC_READONLY);
+ s = bfd_make_section_
anyway_
with_flags (abfd, ".rela.sbss",
+
flags | SEC_READONLY);
if (s == NULL
|| ! bfd_set_section_alignment (abfd, s, 2))
return FALSE;
}
/* XXX beats me, seem to need a rela.text ... */
if (s == NULL
|| ! bfd_set_section_alignment (abfd, s, 2))
return FALSE;
}
/* XXX beats me, seem to need a rela.text ... */
- s = bfd_make_section_with_flags (abfd, ".rela.text",
- flags | SEC_READONLY);
+ s = bfd_make_section_
anyway_
with_flags (abfd, ".rela.text",
+
flags | SEC_READONLY);
if (s == NULL
|| ! bfd_set_section_alignment (abfd, s, 2))
return FALSE;
if (s == NULL
|| ! bfd_set_section_alignment (abfd, s, 2))
return FALSE;
@@
-472,7
+483,7
@@
i370_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
&& h->ref_regular
&& !h->def_regular)));
&& h->ref_regular
&& !h->def_regular)));
- s = bfd_get_
section_by_name
(dynobj, ".rela.text");
+ s = bfd_get_
linker_section
(dynobj, ".rela.text");
BFD_ASSERT (s != NULL);
s->size += sizeof (Elf32_External_Rela);
BFD_ASSERT (s != NULL);
s->size += sizeof (Elf32_External_Rela);
@@
-495,7
+506,7
@@
i370_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
only references to the symbol are via the global offset table.
For such cases we need not do anything here; the relocations will
be handled correctly by relocate_section. */
only references to the symbol are via the global offset table.
For such cases we need not do anything here; the relocations will
be handled correctly by relocate_section. */
- if (
info->shared
)
+ if (
bfd_link_pic (info)
)
return TRUE;
/* We must allocate the symbol in our .dynbss section, which will
return TRUE;
/* We must allocate the symbol in our .dynbss section, which will
@@
-513,9
+524,9
@@
i370_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
only if there were actually SDAREL relocs for that symbol. */
if (h->size <= elf_gp_size (dynobj))
only if there were actually SDAREL relocs for that symbol. */
if (h->size <= elf_gp_size (dynobj))
- s = bfd_get_
section_by_name
(dynobj, ".dynsbss");
+ s = bfd_get_
linker_section
(dynobj, ".dynsbss");
else
else
- s = bfd_get_
section_by_name
(dynobj, ".dynbss");
+ s = bfd_get_
linker_section
(dynobj, ".dynbss");
BFD_ASSERT (s != NULL);
/* We must generate a R_I370_COPY reloc to tell the dynamic linker to
BFD_ASSERT (s != NULL);
/* We must generate a R_I370_COPY reloc to tell the dynamic linker to
@@
-527,15
+538,15
@@
i370_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
asection *srel;
if (h->size <= elf_gp_size (dynobj))
asection *srel;
if (h->size <= elf_gp_size (dynobj))
- srel = bfd_get_
section_by_name
(dynobj, ".rela.sbss");
+ srel = bfd_get_
linker_section
(dynobj, ".rela.sbss");
else
else
- srel = bfd_get_
section_by_name
(dynobj, ".rela.bss");
+ srel = bfd_get_
linker_section
(dynobj, ".rela.bss");
BFD_ASSERT (srel != NULL);
srel->size += sizeof (Elf32_External_Rela);
h->needs_copy = 1;
}
BFD_ASSERT (srel != NULL);
srel->size += sizeof (Elf32_External_Rela);
h->needs_copy = 1;
}
- return _bfd_elf_adjust_dynamic_copy (h, s);
+ return _bfd_elf_adjust_dynamic_copy (
info,
h, s);
}
\f
/* Increment the index of a dynamic symbol by a given amount. Called
}
\f
/* Increment the index of a dynamic symbol by a given amount. Called
@@
-586,9
+597,9
@@
i370_elf_size_dynamic_sections (bfd *output_bfd,
if (elf_hash_table (info)->dynamic_sections_created)
{
/* Set the contents of the .interp section to the interpreter. */
if (elf_hash_table (info)->dynamic_sections_created)
{
/* Set the contents of the .interp section to the interpreter. */
- if (
info->executable
)
+ if (
bfd_link_executable (info) && !info->nointerp
)
{
{
- s = bfd_get_
section_by_name
(dynobj, ".interp");
+ s = bfd_get_
linker_section
(dynobj, ".interp");
BFD_ASSERT (s != NULL);
s->size = sizeof ELF_DYNAMIC_INTERPRETER;
s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER;
BFD_ASSERT (s != NULL);
s->size = sizeof ELF_DYNAMIC_INTERPRETER;
s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER;
@@
-608,7
+619,7
@@
i370_elf_size_dynamic_sections (bfd *output_bfd,
for (p = rela_sections; *p != NULL; p++)
{
for (p = rela_sections; *p != NULL; p++)
{
- s = bfd_get_
section_by_name
(dynobj, *p);
+ s = bfd_get_
linker_section
(dynobj, *p);
if (s != NULL)
s->size = 0;
}
if (s != NULL)
s->size = 0;
}
@@
-705,7
+716,7
@@
i370_elf_size_dynamic_sections (bfd *output_bfd,
#define add_dynamic_entry(TAG, VAL) \
_bfd_elf_add_dynamic_entry (info, TAG, VAL)
#define add_dynamic_entry(TAG, VAL) \
_bfd_elf_add_dynamic_entry (info, TAG, VAL)
- if (!
info->shared
)
+ if (!
bfd_link_pic (info)
)
{
if (!add_dynamic_entry (DT_DEBUG, 0))
return FALSE;
{
if (!add_dynamic_entry (DT_DEBUG, 0))
return FALSE;
@@
-747,7
+758,7
@@
i370_elf_size_dynamic_sections (bfd *output_bfd,
locations in linker-created sections that do not have
externally-visible names. Instead, we should work out precisely
which sections relocations are targeted at. */
locations in linker-created sections that do not have
externally-visible names. Instead, we should work out precisely
which sections relocations are targeted at. */
- if (
info->shared
)
+ if (
bfd_link_pic (info)
)
{
int c;
{
int c;
@@
-796,7
+807,7
@@
i370_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel_end;
asection *sreloc;
const Elf_Internal_Rela *rel_end;
asection *sreloc;
- if (
info->relocatable
)
+ if (
bfd_link_relocatable (info)
)
return TRUE;
#ifdef DEBUG
return TRUE;
#ifdef DEBUG
@@
-825,9
+836,13
@@
i370_elf_check_relocs (bfd *abfd,
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
h = (struct elf_link_hash_entry *) h->root.u.i.link;
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ /* PR15323, ref flags aren't set for references in the same
+ object. */
+ h->root.non_ir_ref = 1;
}
}
- if (
info->shared
)
+ if (
bfd_link_pic (info)
)
{
#ifdef DEBUG
fprintf (stderr,
{
#ifdef DEBUG
fprintf (stderr,
@@
-869,20
+884,20
@@
i370_elf_finish_dynamic_sections (bfd *output_bfd,
{
asection *sdyn;
bfd *dynobj = elf_hash_table (info)->dynobj;
{
asection *sdyn;
bfd *dynobj = elf_hash_table (info)->dynobj;
- asection *sgot =
bfd_get_section_by_name (dynobj, ".got")
;
+ asection *sgot =
elf_hash_table (info)->sgot
;
#ifdef DEBUG
fprintf (stderr, "i370_elf_finish_dynamic_sections called\n");
#endif
#ifdef DEBUG
fprintf (stderr, "i370_elf_finish_dynamic_sections called\n");
#endif
- sdyn = bfd_get_
section_by_name
(dynobj, ".dynamic");
+ sdyn = bfd_get_
linker_section
(dynobj, ".dynamic");
if (elf_hash_table (info)->dynamic_sections_created)
{
asection *splt;
Elf32_External_Dyn *dyncon, *dynconend;
if (elf_hash_table (info)->dynamic_sections_created)
{
asection *splt;
Elf32_External_Dyn *dyncon, *dynconend;
- splt =
bfd_get_section_by_name (dynobj, ".plt")
;
+ splt =
elf_hash_table (info)->splt
;
BFD_ASSERT (splt != NULL && sdyn != NULL);
dyncon = (Elf32_External_Dyn *) sdyn->contents;
BFD_ASSERT (splt != NULL && sdyn != NULL);
dyncon = (Elf32_External_Dyn *) sdyn->contents;
@@
-890,35
+905,39
@@
i370_elf_finish_dynamic_sections (bfd *output_bfd,
for (; dyncon < dynconend; dyncon++)
{
Elf_Internal_Dyn dyn;
for (; dyncon < dynconend; dyncon++)
{
Elf_Internal_Dyn dyn;
-
const char *name
;
+
asection *s
;
bfd_boolean size;
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
switch (dyn.d_tag)
{
bfd_boolean size;
bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
switch (dyn.d_tag)
{
- case DT_PLTGOT: name = ".plt"; size = FALSE; break;
- case DT_PLTRELSZ: name = ".rela.plt"; size = TRUE; break;
- case DT_JMPREL: name = ".rela.plt"; size = FALSE; break;
- default: name = NULL; size = FALSE; break;
+ case DT_PLTGOT:
+ s = elf_hash_table (info)->splt;
+ size = FALSE;
+ break;
+ case DT_PLTRELSZ:
+ s = elf_hash_table (info)->srelplt;
+ size = TRUE;
+ break;
+ case DT_JMPREL:
+ s = elf_hash_table (info)->srelplt;
+ size = FALSE;
+ break;
+ default:
+ continue;
}
}
- if (name != NULL)
+ if (s == NULL)
+ dyn.d_un.d_val = 0;
+ else
{
{
- asection *s;
-
- s = bfd_get_section_by_name (output_bfd, name);
- if (s == NULL)
- dyn.d_un.d_val = 0;
+ if (!size)
+ dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
else
else
- {
- if (! size)
- dyn.d_un.d_ptr = s->vma;
- else
- dyn.d_un.d_val = s->size;
- }
- bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ dyn.d_un.d_val = s->size;
}
}
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
}
}
}
}
@@
-936,7
+955,7
@@
i370_elf_finish_dynamic_sections (bfd *output_bfd,
elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
}
elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
}
- if (
info->shared
)
+ if (
bfd_link_pic (info)
)
{
asection *sdynsym;
asection *s;
{
asection *sdynsym;
asection *s;
@@
-945,7
+964,7
@@
i370_elf_finish_dynamic_sections (bfd *output_bfd,
/* Set up the section symbols for the output sections. */
/* Set up the section symbols for the output sections. */
- sdynsym = bfd_get_
section_by_name
(dynobj, ".dynsym");
+ sdynsym = bfd_get_
linker_section
(dynobj, ".dynsym");
BFD_ASSERT (sdynsym != NULL);
sym.st_size = 0;
BFD_ASSERT (sdynsym != NULL);
sym.st_size = 0;
@@
-1037,7
+1056,7
@@
i370_elf_relocate_section (bfd *output_bfd,
_bfd_error_handler ("i370_elf_relocate_section called for %B section %A, %ld relocations%s",
input_bfd, input_section,
(long) input_section->reloc_count,
_bfd_error_handler ("i370_elf_relocate_section called for %B section %A, %ld relocations%s",
input_bfd, input_section,
(long) input_section->reloc_count,
- (
info->relocatable
) ? " (relocatable)" : "");
+ (
bfd_link_relocatable (info)
) ? " (relocatable)" : "");
#endif
if (!i370_elf_howto_table[ R_I370_ADDR31 ])
#endif
if (!i370_elf_howto_table[ R_I370_ADDR31 ])
@@
-1062,9
+1081,9
@@
i370_elf_relocate_section (bfd *output_bfd,
if ((unsigned) r_type >= (unsigned) R_I370_max
|| !i370_elf_howto_table[(int)r_type])
{
if ((unsigned) r_type >= (unsigned) R_I370_max
|| !i370_elf_howto_table[(int)r_type])
{
- (*_bfd_error_handler) ("%B: unknown relocation type %d",
-
input_bfd
,
-
(int) r_type);
+ /* xgettext:c-format */
+
_bfd_error_handler (_("%B: unknown relocation type %d")
,
+
input_bfd,
(int) r_type);
bfd_set_error (bfd_error_bad_value);
ret = FALSE;
bfd_set_error (bfd_error_bad_value);
ret = FALSE;
@@
-1087,6
+1106,12
@@
i370_elf_relocate_section (bfd *output_bfd,
else
{
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
else
{
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+
+ if (info->wrap_hash != NULL
+ && (input_section->flags & SEC_DEBUGGING) != 0)
+ h = ((struct elf_link_hash_entry *)
+ unwrap_hash_lookup (info, input_bfd, &h->root));
+
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
h = (struct elf_link_hash_entry *) h->root.u.i.link;
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
h = (struct elf_link_hash_entry *) h->root.u.i.link;
@@
-1095,7
+1120,7
@@
i370_elf_relocate_section (bfd *output_bfd,
|| h->root.type == bfd_link_hash_defweak)
{
sec = h->root.u.def.section;
|| h->root.type == bfd_link_hash_defweak)
{
sec = h->root.u.def.section;
- if (
info->shared
+ if (
bfd_link_pic (info)
&& ((! info->symbolic && h->dynindx != -1)
|| !h->def_regular)
&& (input_section->flags & SEC_ALLOC) != 0
&& ((! info->symbolic && h->dynindx != -1)
|| !h->def_regular)
&& (input_section->flags & SEC_ALLOC) != 0
@@
-1117,32
+1142,30
@@
i370_elf_relocate_section (bfd *output_bfd,
else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
;
else if (info->unresolved_syms_in_objects == RM_IGNORE
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
;
- else if (!
info->relocatable
)
+ else if (!
bfd_link_relocatable (info)
)
{
{
- if ((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset,
- (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
- || ELF_ST_VISIBILITY (h->other))))
- {
- ret = FALSE;
- continue;
- }
+ (*info->callbacks->undefined_symbol)
+ (info, h->root.root.string, input_bfd,
+ input_section, rel->r_offset,
+ (info->unresolved_syms_in_objects == RM_GENERATE_ERROR
+ || ELF_ST_VISIBILITY (h->other)));
+ ret = FALSE;
+ continue;
}
}
if (sec != NULL && discarded_section (sec))
RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
}
}
if (sec != NULL && discarded_section (sec))
RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
- rel,
relend, howto
, contents);
+ rel,
1, relend, howto, 0
, contents);
- if (
info->relocatable
)
+ if (
bfd_link_relocatable (info)
)
continue;
switch ((int) r_type)
{
default:
continue;
switch ((int) r_type)
{
default:
- (*_bfd_error_handler)
- (
"%B: unknown relocation type %d for symbol %s"
,
+ _bfd_error_handler
+ (
_("%B: unknown relocation type %d for symbol %s")
,
input_bfd, (int) r_type, sym_name);
bfd_set_error (bfd_error_bad_value);
input_bfd, (int) r_type, sym_name);
bfd_set_error (bfd_error_bad_value);
@@
-1166,7
+1189,7
@@
i370_elf_relocate_section (bfd *output_bfd,
object. */
case (int) R_I370_ADDR31:
case (int) R_I370_ADDR16:
object. */
case (int) R_I370_ADDR31:
case (int) R_I370_ADDR16:
- if (
info->shared
+ if (
bfd_link_pic (info)
&& r_symndx != STN_UNDEF)
{
Elf_Internal_Rela outrel;
&& r_symndx != STN_UNDEF)
{
Elf_Internal_Rela outrel;
@@
-1282,8
+1305,9
@@
i370_elf_relocate_section (bfd *output_bfd,
case (int) R_I370_COPY:
case (int) R_I370_RELATIVE:
case (int) R_I370_COPY:
case (int) R_I370_RELATIVE:
- (*_bfd_error_handler)
- ("%B: Relocation %s is not yet supported for symbol %s.",
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%B: Relocation %s is not yet supported for symbol %s."),
input_bfd,
i370_elf_howto_table[(int) r_type]->name,
sym_name);
input_bfd,
i370_elf_howto_table[(int) r_type]->name,
sym_name);
@@
-1353,7
+1377,7
@@
i370_elf_relocate_section (bfd *output_bfd,
return ret;
}
\f
return ret;
}
\f
-#define TARGET_BIG_SYM
bfd_elf32_i370
_vec
+#define TARGET_BIG_SYM
i370_elf32
_vec
#define TARGET_BIG_NAME "elf32-i370"
#define ELF_ARCH bfd_arch_i370
#define ELF_MACHINE_CODE EM_S370
#define TARGET_BIG_NAME "elf32-i370"
#define ELF_ARCH bfd_arch_i370
#define ELF_MACHINE_CODE EM_S370
@@
-1384,7
+1408,6
@@
i370_elf_relocate_section (bfd *output_bfd,
#define elf_backend_section_from_shdr i370_elf_section_from_shdr
#define elf_backend_adjust_dynamic_symbol i370_elf_adjust_dynamic_symbol
#define elf_backend_check_relocs i370_elf_check_relocs
#define elf_backend_section_from_shdr i370_elf_section_from_shdr
#define elf_backend_adjust_dynamic_symbol i370_elf_adjust_dynamic_symbol
#define elf_backend_check_relocs i370_elf_check_relocs
-#define elf_backend_post_process_headers _bfd_elf_set_osabi
static int
i370_noop (void)
static int
i370_noop (void)
This page took
0.029886 seconds
and
4
git commands to generate.