/* This file is is generated by a shell script. DO NOT EDIT! */
/* AIX emulation code for ${EMULATION_NAME}
- Copyright (C) 1991-2017 Free Software Foundation, Inc.
+ Copyright (C) 1991-2020 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
AIX support by Ian Lance Taylor <ian@cygnus.com>
AIX 64 bit support by Tom Rix <trix@redhat.com>
#include "getopt.h"
#include "obstack.h"
#include "bfdlink.h"
+#include "ctf-api.h"
#include "ld.h"
#include "ldmain.h"
#include "coff/xcoff.h"
#include "libcoff.h"
#include "libxcoff.h"
+#include "xcofflink.h"
static void gld${EMULATION_NAME}_read_file (const char *, bfd_boolean);
static void gld${EMULATION_NAME}_free (void *);
{
/* Skip empty lines. */
while (*b == '\n' || *b == '\r')
- b++;
+ b++;
/* Stop if end of buffer. */
if (b == buffer + len)
- break;
+ break;
/* Eat any byte until end of line. */
for (e = b; *e != '\0'; e++)
- if (*e == '\n' || *e == '\r')
- break;
+ if (*e == '\n' || *e == '\r')
+ break;
/* Replace end of line by nul. */
if (*e != '\0')
- *e++ = '\0';
+ *e++ = '\0';
if (b != e)
- lang_add_input_file (b, lang_input_file_is_search_file_enum, NULL);
+ lang_add_input_file (b, lang_input_file_is_search_file_enum, NULL);
b = e;
}
return;
case 'f':
/* This overrides --auxiliary. This option specifies a file containing
- a list of input files. */
+ a list of input files. */
read_file_list (optarg);
break;
h = bfd_link_hash_lookup (link_info.hash, el->name, FALSE, FALSE, FALSE);
if (h == NULL)
- einfo (_("%P%F: bfd_link_hash_lookup of export symbol failed: %E\n"));
+ einfo (_("%F%P: bfd_link_hash_lookup of export symbol failed: %E\n"));
if (!bfd_xcoff_export_symbol (link_info.output_bfd, &link_info, h))
- einfo (_("%P%F: bfd_xcoff_export_symbol failed: %E\n"));
+ einfo (_("%F%P: bfd_xcoff_export_symbol failed: %E\n"));
}
/* Track down all relocations called for by the linker script (these
maxstack, maxdata, gc && !unix_ld ? TRUE : FALSE,
modtype, textro ? TRUE : FALSE, flags, special_sections,
rtld ? TRUE : FALSE))
- einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+ einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
/* Look through the special sections, and put them in the right
place in the link ordering. This is especially magic. */
is = NULL;
os = lang_output_section_get (sec->output_section);
if (os == NULL)
- einfo (_("%P%F: can't find output section %s\n"),
+ einfo (_("%F%P: can't find output section %s\n"),
sec->output_section->name);
for (pls = &os->children.head; *pls != NULL; pls = &(*pls)->header.next)
if (is == NULL)
{
- einfo (_("%P%F: can't find %s in output section\n"),
- bfd_get_section_name (sec->owner, sec));
+ einfo (_("%F%P: can't find %s in output section\n"),
+ bfd_section_name (sec));
}
/* Now figure out where the section should go. */
else
{
is->header.next = NULL;
- lang_statement_append (&os->children,
- (lang_statement_union_type *) is,
- &is->header.next);
+ *os->children.tail = (lang_statement_union_type *) is;
+ os->children.tail = &is->header.next;
}
}
if (f == NULL)
{
bfd_set_error (bfd_error_system_call);
- einfo ("%F%s: %E\n", filename);
+ einfo ("%F%P: %s: %E\n", filename);
return;
}
obstack_free (o, obstack_base (o));
}
else if (*s == '(')
- einfo (_("%F%s%d: #! ([member]) is not supported "
+ einfo (_("%F%P:%s:%d: #! ([member]) is not supported "
"in import files\n"),
filename, lineno);
else
*s = '\0';
if (!bfd_xcoff_split_import_path (link_info.output_bfd,
start, &imppath, &impfile))
- einfo (_("%F%P: Could not parse import path: %E\n"));
+ einfo (_("%F%P: could not parse import path: %E\n"));
while (ISSPACE (cs))
{
++s;
{
impmember = "";
if (cs != '\0')
- einfo (_("%s:%d: warning: syntax error in import file\n"),
+ einfo (_("%P:%s:%d: warning: syntax error in import file\n"),
filename, lineno);
}
else
if (*s == ')')
*s = '\0';
else
- einfo (_("%s:%d: warning: syntax error in import file\n"),
+ einfo (_("%P:%s:%d: warning: syntax error in import file\n"),
filename, lineno);
}
}
while (ISSPACE (*se))
++se;
if (*se != '\0')
- einfo (_("%s%d: warning: syntax error in "
+ einfo (_("%P:%s%d: warning: syntax error in "
"import/export file\n"),
filename, lineno);
}
address = bfd_scan_vma (s, &end, 0);
if (*end != '\0')
{
- einfo (_("%s:%d: warning: syntax error in "
+ einfo (_("%P:%s:%d: warning: syntax error in "
"import/export file\n"),
filename, lineno);
&link_info, h,
address, imppath, impfile,
impmember, syscall_flag))
- einfo (_("%X%s:%d: failed to import symbol %s: %E\n"),
+ einfo (_("%X%P:%s:%d: failed to import symbol %s: %E\n"),
filename, lineno, symname);
}
}
if (obstack_object_size (o) > 0)
{
- einfo (_("%s:%d: warning: ignoring unterminated last line\n"),
+ einfo (_("%P:%s:%d: warning: ignoring unterminated last line\n"),
filename, lineno);
obstack_free (o, obstack_base (o));
}
if (!bfd_xcoff_record_link_assignment (link_info.output_bfd,
&link_info,
exp->assign.dst))
- einfo (_("%P%F: failed to record assignment to %s: %E\n"),
+ einfo (_("%F%P: failed to record assignment to %s: %E\n"),
exp->assign.dst);
}
gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo (_("%X%P: can not create BFD %E\n"));
+ einfo (_("%F%P: can not create BFD: %E\n"));
return;
}
link_info.fini_function,
rtld))
{
- einfo (_("%X%P: can not create BFD %E\n"));
+ einfo (_("%F%P: can not create BFD: %E\n"));
return;
}
hll_default,
after_parse_default,
gld${EMULATION_NAME}_after_open,
+ after_check_relocs_default,
+ before_place_orphans_default,
after_allocation_default,
gld${EMULATION_NAME}_set_output_arch,
gld${EMULATION_NAME}_choose_target,
NULL, /* recognized_file */
NULL, /* find potential_libraries */
NULL, /* new_vers_pattern */
- NULL /* extra_map_file_text */
+ NULL, /* extra_map_file_text */
+ ${LDEMUL_EMIT_CTF_EARLY-NULL},
+ ${LDEMUL_EXAMINE_STRTAB_FOR_CTF-NULL}
};
EOF