# see <http://www.gnu.org/licenses/>.
#
-# This file is sourced from elf32.em, and defines extra aarch64-elf
+# This file is sourced from elf.em, and defines extra aarch64-elf
# specific routines.
#
fragment <<EOF
#include "ldctor.h"
#include "elf/aarch64.h"
+#include "elfxx-aarch64.h"
static int no_enum_size_warning = 0;
static int no_wchar_size_warning = 0;
/* Long branch stubs contain a 64-bit address, so the section requires
8 byte alignment. */
- bfd_set_section_alignment (stub_file->the_bfd, stub_sec, 3);
+ bfd_set_section_alignment (stub_sec, 3);
output_section = input_section->output_section;
os = lang_output_section_get (output_section);
/* If we have changed sizes of the stub sections, then we need
to recalculate all the section offsets. This may mean we need to
add even more stubs. */
- gld${EMULATION_NAME}_map_segments (TRUE);
+ ldelf_map_segments (TRUE);
need_laying_out = -1;
}
{
asection *i = statement->input_section.section;
- if (!((lang_input_statement_type *) i->owner->usrdata)->flags.just_syms
+ if (!bfd_input_just_syms (i->owner)
&& (i->flags & SEC_EXCLUDE) == 0
&& i->output_section != NULL
&& i->output_section->owner == link_info.output_bfd)
}
if (need_laying_out != -1)
- gld${EMULATION_NAME}_map_segments (need_laying_out);
+ ldelf_map_segments (need_laying_out);
}
static void
ldlang_add_file (stub_file);
}
-/* Avoid processing the fake stub_file in vercheck, stat_needed and
- check_needed routines. */
-
-static void (*real_func) (lang_input_statement_type *);
-
-static void aarch64_for_each_input_file_wrapper (lang_input_statement_type *l)
-{
- if (l != stub_file)
- (*real_func) (l);
-}
-
-static void
-aarch64_lang_for_each_input_file (void (*func) (lang_input_statement_type *))
-{
- real_func = func;
- lang_for_each_input_file (&aarch64_for_each_input_file_wrapper);
-}
-
-#define lang_for_each_input_file aarch64_lang_for_each_input_file
-
EOF
# Define some shell vars to insert bits of code into the standard elf