/* This file is is generated by a shell script. DO NOT EDIT! */
/* AIX emulation code for ${EMULATION_NAME}
- Copyright (C) 1991-2015 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 *);
f = fopen (filename, FOPEN_RT);
if (f == NULL)
{
- einfo ("%F%P: cannot open %s\n", filename);
+ einfo (_("%F%P: cannot open %s\n"), filename);
return;
}
if (fseek (f, 0L, SEEK_END) == -1)
{
/* 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;
error:
- einfo ("%F%P: cannot read %s\n", optarg);
+ einfo (_("%F%P: cannot read %s\n"), optarg);
fclose (f);
}
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;
case 'D':
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -D number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -D number %s\n"), optarg);
else if (val != -1)
lang_section_start (".data", exp_intop (val), NULL);
break;
case 'H':
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0' || (val & (val - 1)) != 0)
- einfo ("%P: warning: ignoring invalid -H number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -H number %s\n"), optarg);
else
file_align = val;
break;
case OPTION_MAXDATA:
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -bmaxdata number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -bmaxdata number %s\n"),
+ optarg);
else
maxdata = val;
break;
case OPTION_MAXSTACK:
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -bmaxstack number %s\n",
+ einfo (_("%P: warning: ignoring invalid -bmaxstack number %s\n"),
optarg);
else
maxstack = val;
++optarg;
}
if (*optarg == '\0' || optarg[1] == '\0')
- einfo ("%P: warning: ignoring invalid module type %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid module type %s\n"), optarg);
else
modtype = (*optarg << 8) | optarg[1];
break;
expression. */
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -pD number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -pD number %s\n"), optarg);
else
{
etree_type *t;
within the file. */
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -pT number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -pT number %s\n"), optarg);
else
{
etree_type *t;
size = (p->count + 2) * 4;
if (!bfd_xcoff_link_record_set (link_info.output_bfd, &link_info,
p->h, size))
- einfo ("%F%P: bfd_xcoff_link_record_set failed: %E\n");
+ einfo (_("%F%P: bfd_xcoff_link_record_set failed: %E\n"));
}
}
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;
}
}
sec = bfd_get_section_by_name (link_info.output_bfd,
must_keep_sections[i]);
if (sec == NULL)
- einfo ("%P: can't find required output section %s\n", must_keep_sections[i]);
+ einfo (_("%P: can't find required output section %s\n"),
+ must_keep_sections[i]);
else
sec->flags |= SEC_KEEP;
}
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 in import files\n",
+ 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 import/export file\n",
+ 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 import/export file\n",
+ 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));
}
rs = &s->reloc_statement;
if (rs->name == NULL)
- einfo ("%F%P: only relocations against symbols are permitted\n");
+ einfo (_("%F%P: only relocations against symbols are permitted\n"));
if (!bfd_xcoff_link_count_reloc (link_info.output_bfd, &link_info,
rs->name))
- einfo ("%F%P: bfd_xcoff_link_count_reloc failed: %E\n");
+ einfo (_("%F%P: bfd_xcoff_link_count_reloc failed: %E\n"));
}
if (s->header.type == lang_assignment_statement_enum)
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