URL
https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk
Subversion Repositories open8_urisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/open8_urisc/trunk/gnu/binutils/ld
- from Rev 148 to Rev 157
- ↔ Reverse comparison
Rev 148 → Rev 157
/Makefile.in
787,6 → 787,8
eelf64tilegx.c \ |
eelf_l1om.c \ |
eelf_l1om_fbsd.c \ |
eelf_k1om.c \ |
eelf_k1om_fbsd.c \ |
eelf_x86_64.c \ |
eelf_x86_64_fbsd.c \ |
eelf_x86_64_sol2.c \ |
1152,6 → 1154,8
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppcvxworks.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppcwindiss.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rx.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32tilegx.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32tilepro.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32vax.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16x.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16xl.Po@am__quote@ |
1177,6 → 1181,7
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_chaos.Po@am__quote@ |
1184,6 → 1189,8
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_vxworks.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_k1om.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_k1om_fbsd.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om_fbsd.Po@am__quote@ |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_s390.Po@am__quote@ |
2342,6 → 2349,14
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_be "$(tdir_elf32_tic6x_be)" |
eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_be "$(tdir_elf32_tic6x_elf_be)" |
eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_le "$(tdir_elf32_tic6x_elf_le)" |
eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
2354,14 → 2369,6
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_linux_le "$(tdir_elf32_tic6x_linux_le)" |
eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_be "$(tdir_elf32_tic6x_elf_be)" |
eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_le "$(tdir_elf32_tic6x_elf_le)" |
eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \ |
$(srcdir)/emulparams/elf32am33lin.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
3406,10 → 3413,6
ldemul-list.h \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)" |
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ |
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf64tilegx "$(tdir_tilegx)" |
eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \ |
$(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \ |
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \ |
3428,6 → 3431,10
ldemul-list.h \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)" |
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ |
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf64tilegx "$(tdir_tilegx)" |
eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)" |
3435,6 → 3442,13
$(srcdir)/emulparams/elf_l1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)" |
eelf_k1om.c: $(srcdir)/emulparams/elf_k1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_k1om "$(tdir_elf_k1om)" |
eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \ |
$(srcdir)/emulparams/elf_k1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_k1om_fbsd "$(tdir_elf_k1om_fbsd)" |
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)" |
/lexsup.c
175,6 → 175,7
OPTION_PLUGIN_OPT, |
#endif /* ENABLE_PLUGINS */ |
OPTION_DEFAULT_SCRIPT, |
OPTION_PRINT_OUTPUT_FORMAT, |
}; |
|
/* The long options. This structure is used for both the option |
491,6 → 492,8
{ {"oformat", required_argument, NULL, OPTION_OFORMAT}, |
'\0', N_("TARGET"), N_("Specify target of output file"), |
EXACTLY_TWO_DASHES }, |
{ {"print-output-format", no_argument, NULL, OPTION_PRINT_OUTPUT_FORMAT}, |
'\0', NULL, N_("Print default output format"), TWO_DASHES }, |
{ {"qmagic", no_argument, NULL, OPTION_IGNORE}, |
'\0', NULL, N_("Ignored for Linux compatibility"), ONE_DASH }, |
{ {"reduce-memory-overheads", no_argument, NULL, |
1059,6 → 1062,9
case OPTION_OFORMAT: |
lang_add_output_format (optarg, NULL, NULL, 0); |
break; |
case OPTION_PRINT_OUTPUT_FORMAT: |
command_line.print_output_format = TRUE; |
break; |
#ifdef ENABLE_PLUGINS |
case OPTION_PLUGIN: |
if (plugin_opt_plugin (optarg)) |
/emultempl/elf32.em
2106,8 → 2106,6
fi |
fi |
|
if test -n "$PARSE_AND_LIST_ARGS_CASES" -o x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
|
if test -n "$PARSE_AND_LIST_PROLOGUE" ; then |
fragment <<EOF |
$PARSE_AND_LIST_PROLOGUE |
2130,30 → 2128,43
(int ns, char **shortopts, int nl, struct option **longopts, |
int nrl ATTRIBUTE_UNUSED, struct option **really_longopts ATTRIBUTE_UNUSED) |
{ |
EOF |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
static const char xtra_short[] = "${PARSE_AND_LIST_SHORTOPTS}z:P:"; |
EOF |
else |
fragment <<EOF |
static const char xtra_short[] = "${PARSE_AND_LIST_SHORTOPTS}z:"; |
EOF |
fi |
fragment <<EOF |
static const struct option xtra_long[] = { |
{"build-id", optional_argument, NULL, OPTION_BUILD_ID}, |
EOF |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
{"audit", required_argument, NULL, OPTION_AUDIT}, |
{"depaudit", required_argument, NULL, 'P'}, |
{"Bgroup", no_argument, NULL, OPTION_GROUP}, |
EOF |
|
fi |
fragment <<EOF |
{"build-id", optional_argument, NULL, OPTION_BUILD_ID}, |
EOF |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
{"depaudit", required_argument, NULL, 'P'}, |
{"disable-new-dtags", no_argument, NULL, OPTION_DISABLE_NEW_DTAGS}, |
{"enable-new-dtags", no_argument, NULL, OPTION_ENABLE_NEW_DTAGS}, |
{"eh-frame-hdr", no_argument, NULL, OPTION_EH_FRAME_HDR}, |
{"exclude-libs", required_argument, NULL, OPTION_EXCLUDE_LIBS}, |
{"hash-style", required_argument, NULL, OPTION_HASH_STYLE}, |
{"Bgroup", no_argument, NULL, OPTION_GROUP}, |
EOF |
fi |
|
if test -n "$PARSE_AND_LIST_LONGOPTS" ; then |
fragment <<EOF |
$PARSE_AND_LIST_LONGOPTS |
EOF |
fi |
|
fragment <<EOF |
{NULL, no_argument, NULL, 0} |
}; |
2186,17 → 2197,19
if (strcmp (optarg, "none")) |
link_info.emit_note_gnu_build_id = xstrdup (optarg); |
break; |
|
EOF |
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
case OPTION_AUDIT: |
gld${EMULATION_NAME}_append_to_separated_string (&audit, optarg); |
break; |
|
case 'P': |
gld${EMULATION_NAME}_append_to_separated_string (&depaudit, optarg); |
break; |
|
EOF |
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
case OPTION_DISABLE_NEW_DTAGS: |
link_info.new_dtags = FALSE; |
break; |
2236,8 → 2249,46
einfo (_("%P%F: invalid hash style \`%s'\n"), optarg); |
break; |
|
EOF |
fi |
fragment <<EOF |
case 'z': |
if (strcmp (optarg, "initfirst") == 0) |
if (strcmp (optarg, "defs") == 0) |
link_info.unresolved_syms_in_objects = RM_GENERATE_ERROR; |
else if (strcmp (optarg, "muldefs") == 0) |
link_info.allow_multiple_definition = TRUE; |
else if (CONST_STRNEQ (optarg, "max-page-size=")) |
{ |
char *end; |
|
config.maxpagesize = strtoul (optarg + 14, &end, 0); |
if (*end || (config.maxpagesize & (config.maxpagesize - 1)) != 0) |
einfo (_("%P%F: invalid maxium page size \`%s'\n"), |
optarg + 14); |
} |
else if (CONST_STRNEQ (optarg, "common-page-size=")) |
{ |
char *end; |
config.commonpagesize = strtoul (optarg + 17, &end, 0); |
if (*end |
|| (config.commonpagesize & (config.commonpagesize - 1)) != 0) |
einfo (_("%P%F: invalid common page size \`%s'\n"), |
optarg + 17); |
} |
else if (strcmp (optarg, "execstack") == 0) |
{ |
link_info.execstack = TRUE; |
link_info.noexecstack = FALSE; |
} |
else if (strcmp (optarg, "noexecstack") == 0) |
{ |
link_info.noexecstack = TRUE; |
link_info.execstack = FALSE; |
} |
EOF |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
else if (strcmp (optarg, "initfirst") == 0) |
link_info.flags_1 |= (bfd_vma) DF_1_INITFIRST; |
else if (strcmp (optarg, "interpose") == 0) |
link_info.flags_1 |= (bfd_vma) DF_1_INTERPOSE; |
2266,10 → 2317,6
link_info.flags |= (bfd_vma) DF_ORIGIN; |
link_info.flags_1 |= (bfd_vma) DF_1_ORIGIN; |
} |
else if (strcmp (optarg, "defs") == 0) |
link_info.unresolved_syms_in_objects = RM_GENERATE_ERROR; |
else if (strcmp (optarg, "muldefs") == 0) |
link_info.allow_multiple_definition = TRUE; |
else if (strcmp (optarg, "combreloc") == 0) |
link_info.combreloc = TRUE; |
else if (strcmp (optarg, "nocombreloc") == 0) |
2276,50 → 2323,18
link_info.combreloc = FALSE; |
else if (strcmp (optarg, "nocopyreloc") == 0) |
link_info.nocopyreloc = TRUE; |
else if (strcmp (optarg, "execstack") == 0) |
{ |
link_info.execstack = TRUE; |
link_info.noexecstack = FALSE; |
} |
else if (strcmp (optarg, "noexecstack") == 0) |
{ |
link_info.noexecstack = TRUE; |
link_info.execstack = FALSE; |
} |
EOF |
|
if test -n "$COMMONPAGESIZE"; then |
fragment <<EOF |
else if (strcmp (optarg, "relro") == 0) |
link_info.relro = TRUE; |
else if (strcmp (optarg, "norelro") == 0) |
link_info.relro = FALSE; |
EOF |
fi |
fi |
|
fragment <<EOF |
else if (CONST_STRNEQ (optarg, "max-page-size=")) |
{ |
char *end; |
|
config.maxpagesize = strtoul (optarg + 14, &end, 0); |
if (*end || (config.maxpagesize & (config.maxpagesize - 1)) != 0) |
einfo (_("%P%F: invalid maxium page size \`%s'\n"), |
optarg + 14); |
} |
else if (CONST_STRNEQ (optarg, "common-page-size=")) |
{ |
char *end; |
config.commonpagesize = strtoul (optarg + 17, &end, 0); |
if (*end |
|| (config.commonpagesize & (config.commonpagesize - 1)) != 0) |
einfo (_("%P%F: invalid common page size \`%s'\n"), |
optarg + 17); |
} |
/* What about the other Solaris -z options? FIXME. */ |
else |
einfo (_("%P: warning: -z %s ignored.\n"), optarg); |
break; |
EOF |
fi |
|
if test -n "$PARSE_AND_LIST_ARGS_CASES" ; then |
fragment <<EOF |
2341,19 → 2356,24
static void |
gld${EMULATION_NAME}_list_options (FILE * file) |
{ |
EOF |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
fprintf (file, _("\ |
--build-id[=STYLE] Generate build ID note\n")); |
fprintf (file, _("\ |
--audit=AUDITLIB Specify a library to use for auditing\n")); |
fprintf (file, _("\ |
-P AUDITLIB, --depaudit=AUDITLIB\n" "\ |
Specify a library to use for auditing dependencies\n")); |
-Bgroup Selects group name lookup rules for DSO\n")); |
EOF |
|
fi |
fragment <<EOF |
fprintf (file, _("\ |
--build-id[=STYLE] Generate build ID note\n")); |
EOF |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
fprintf (file, _("\ |
-Bgroup Selects group name lookup rules for DSO\n")); |
-P AUDITLIB, --depaudit=AUDITLIB\n" "\ |
Specify a library to use for auditing dependencies\n")); |
fprintf (file, _("\ |
--disable-new-dtags Disable new dynamic tags\n")); |
fprintf (file, _("\ |
2361,13 → 2381,25
fprintf (file, _("\ |
--eh-frame-hdr Create .eh_frame_hdr section\n")); |
fprintf (file, _("\ |
--exclude-libs=LIBS Make all symbols in LIBS hidden\n")); |
fprintf (file, _("\ |
--hash-style=STYLE Set hash style to sysv, gnu or both\n")); |
fprintf (file, _("\ |
-z combreloc Merge dynamic relocs into one section and sort\n")); |
EOF |
fi |
|
fragment <<EOF |
fprintf (file, _("\ |
-z common-page-size=SIZE Set common page size to SIZE\n")); |
fprintf (file, _("\ |
-z defs Report unresolved symbols in object files.\n")); |
fprintf (file, _("\ |
-z execstack Mark executable as requiring executable stack\n")); |
EOF |
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
fprintf (file, _("\ |
-z initfirst Mark DSO to be initialized first at runtime\n")); |
fprintf (file, _("\ |
2376,8 → 2408,18
-z lazy Mark object lazy runtime binding (default)\n")); |
fprintf (file, _("\ |
-z loadfltr Mark object requiring immediate process\n")); |
EOF |
fi |
|
fragment <<EOF |
fprintf (file, _("\ |
-z max-page-size=SIZE Set maximum page size to SIZE\n")); |
fprintf (file, _("\ |
-z muldefs Allow multiple definitions\n")); |
EOF |
|
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
fprintf (file, _("\ |
-z nocombreloc Don't merge dynamic relocs into one section\n")); |
fprintf (file, _("\ |
2390,40 → 2432,24
-z nodlopen Mark DSO not available to dlopen\n")); |
fprintf (file, _("\ |
-z nodump Mark DSO not available to dldump\n")); |
EOF |
fi |
fragment <<EOF |
fprintf (file, _("\ |
-z noexecstack Mark executable as not requiring executable stack\n")); |
EOF |
|
if test -n "$COMMONPAGESIZE"; then |
if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then |
fragment <<EOF |
fprintf (file, _("\ |
-z norelro Don't create RELRO program header\n")); |
EOF |
fi |
|
fragment <<EOF |
fprintf (file, _("\ |
-z now Mark object non-lazy runtime binding\n")); |
fprintf (file, _("\ |
-z origin Mark object requiring immediate \$ORIGIN\n\ |
processing at runtime\n")); |
EOF |
|
if test -n "$COMMONPAGESIZE"; then |
fragment <<EOF |
fprintf (file, _("\ |
-z relro Create RELRO program header\n")); |
EOF |
fi |
|
fragment <<EOF |
fprintf (file, _("\ |
-z max-page-size=SIZE Set maximum page size to SIZE\n")); |
fprintf (file, _("\ |
-z common-page-size=SIZE Set common page size to SIZE\n")); |
fprintf (file, _("\ |
-z KEYWORD Ignored for Solaris compatibility\n")); |
EOF |
fi |
|
if test -n "$PARSE_AND_LIST_OPTIONS" ; then |
2442,17 → 2468,6
EOF |
fi |
fi |
else |
fragment <<EOF |
#define gld${EMULATION_NAME}_add_options NULL |
#define gld${EMULATION_NAME}_handle_option NULL |
EOF |
if test x"$LDEMUL_LIST_OPTIONS" != xgld"$EMULATION_NAME"_list_options; then |
fragment <<EOF |
#define gld${EMULATION_NAME}_list_options NULL |
EOF |
fi |
fi |
|
fragment <<EOF |
|
/emultempl/ppc64elf.em
61,6 → 61,9
/* Whether to sort input toc and got sections. */ |
static int no_toc_sort = 0; |
|
/* Set if PLT call stubs should load r11. */ |
static int plt_static_chain = 0; |
|
/* Whether to emit symbols for stubs. */ |
static int emit_stub_syms = -1; |
|
500,7 → 503,7
einfo ("%P: .init/.fini fragments use differing TOC pointers\n"); |
|
/* Call into the BFD backend to do the real work. */ |
if (!ppc64_elf_size_stubs (&link_info, group_size)) |
if (!ppc64_elf_size_stubs (&link_info, group_size, plt_static_chain)) |
einfo ("%X%P: can not size stub section: %E\n"); |
} |
} |
649,9 → 652,11
# Define some shell vars to insert bits of code into the standard elf |
# parse_args and list_options functions. |
# |
PARSE_AND_LIST_PROLOGUE=' |
#define OPTION_STUBGROUP_SIZE 301 |
#define OPTION_STUBSYMS (OPTION_STUBGROUP_SIZE + 1) |
PARSE_AND_LIST_PROLOGUE=${PARSE_AND_LIST_PROLOGUE}' |
#define OPTION_STUBGROUP_SIZE 321 |
#define OPTION_PLT_STATIC_CHAIN (OPTION_STUBGROUP_SIZE + 1) |
#define OPTION_NO_PLT_STATIC_CHAIN (OPTION_PLT_STATIC_CHAIN + 1) |
#define OPTION_STUBSYMS (OPTION_NO_PLT_STATIC_CHAIN + 1) |
#define OPTION_NO_STUBSYMS (OPTION_STUBSYMS + 1) |
#define OPTION_DOTSYMS (OPTION_NO_STUBSYMS + 1) |
#define OPTION_NO_DOTSYMS (OPTION_DOTSYMS + 1) |
664,8 → 669,10
#define OPTION_NON_OVERLAPPING_OPD (OPTION_NO_TOC_SORT + 1) |
' |
|
PARSE_AND_LIST_LONGOPTS=' |
PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}' |
{ "stub-group-size", required_argument, NULL, OPTION_STUBGROUP_SIZE }, |
{ "plt-static-chain", no_argument, NULL, OPTION_PLT_STATIC_CHAIN }, |
{ "no-plt-static-chain", no_argument, NULL, OPTION_NO_PLT_STATIC_CHAIN }, |
{ "emit-stub-syms", no_argument, NULL, OPTION_STUBSYMS }, |
{ "no-emit-stub-syms", no_argument, NULL, OPTION_NO_STUBSYMS }, |
{ "dotsyms", no_argument, NULL, OPTION_DOTSYMS }, |
679,7 → 686,7
{ "non-overlapping-opd", no_argument, NULL, OPTION_NON_OVERLAPPING_OPD }, |
' |
|
PARSE_AND_LIST_OPTIONS=' |
PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' |
fprintf (file, _("\ |
--stub-group-size=N Maximum size of a group of input sections that\n\ |
can be handled by one stub section. A negative\n\ |
691,6 → 698,12
choose suitable defaults.\n" |
)); |
fprintf (file, _("\ |
--plt-static-chain PLT call stubs should load r11.\n" |
)); |
fprintf (file, _("\ |
--no-plt-static-chain PLT call stubs should not load r11. (default)\n" |
)); |
fprintf (file, _("\ |
--emit-stub-syms Label linker stubs with a symbol.\n" |
)); |
fprintf (file, _("\ |
729,7 → 742,7
)); |
' |
|
PARSE_AND_LIST_ARGS_CASES=' |
PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' |
case OPTION_STUBGROUP_SIZE: |
{ |
const char *end; |
739,6 → 752,14
} |
break; |
|
case OPTION_PLT_STATIC_CHAIN: |
plt_static_chain = 1; |
break; |
|
case OPTION_NO_PLT_STATIC_CHAIN: |
plt_static_chain = 0; |
break; |
|
case OPTION_STUBSYMS: |
emit_stub_syms = 1; |
break; |
/emultempl/armelf.em
42,6 → 42,7
static int no_wchar_size_warning = 0; |
static int pic_veneer = 0; |
static int merge_exidx_entries = -1; |
static int fix_arm1176 = 1; |
|
static void |
gld${EMULATION_NAME}_before_parse (void) |
464,7 → 465,8
target2_type, fix_v4bx, use_blx, |
vfp11_denorm_fix, no_enum_size_warning, |
no_wchar_size_warning, |
pic_veneer, fix_cortex_a8); |
pic_veneer, fix_cortex_a8, |
fix_arm1176); |
|
stub_file = lang_add_input_file ("linker stubs", |
lang_input_file_is_fake_enum, |
529,6 → 531,8
#define OPTION_FIX_CORTEX_A8 314 |
#define OPTION_NO_FIX_CORTEX_A8 315 |
#define OPTION_NO_MERGE_EXIDX_ENTRIES 316 |
#define OPTION_FIX_ARM1176 317 |
#define OPTION_NO_FIX_ARM1176 318 |
' |
|
PARSE_AND_LIST_SHORTOPTS=p |
551,6 → 555,8
{ "fix-cortex-a8", no_argument, NULL, OPTION_FIX_CORTEX_A8 }, |
{ "no-fix-cortex-a8", no_argument, NULL, OPTION_NO_FIX_CORTEX_A8 }, |
{ "no-merge-exidx-entries", no_argument, NULL, OPTION_NO_MERGE_EXIDX_ENTRIES }, |
{ "fix-arm1176", no_argument, NULL, OPTION_FIX_ARM1176 }, |
{ "no-fix-arm1176", no_argument, NULL, OPTION_NO_FIX_ARM1176 }, |
' |
|
PARSE_AND_LIST_OPTIONS=' |
579,7 → 585,7
)); |
fprintf (file, _(" --[no-]fix-cortex-a8 Disable/enable Cortex-A8 Thumb-2 branch erratum fix\n")); |
fprintf (file, _(" --no-merge-exidx-entries Disable merging exidx entries\n")); |
|
fprintf (file, _(" --[no-]fix-arm1176 Disable/enable ARM1176 BLX immediate erratum fix\n")); |
' |
|
PARSE_AND_LIST_ARGS_CASES=' |
662,7 → 668,15
|
case OPTION_NO_MERGE_EXIDX_ENTRIES: |
merge_exidx_entries = 0; |
break; |
|
case OPTION_FIX_ARM1176: |
fix_arm1176 = 1; |
break; |
|
case OPTION_NO_FIX_ARM1176: |
fix_arm1176 = 0; |
break; |
' |
|
# We have our own before_allocation etc. functions, but they call |
/emultempl/ppc32elf.em
1,5 → 1,6
# This shell script emits a C file. -*- C -*- |
# Copyright 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. |
# Copyright 2003, 2005, 2007, 2008, 2009, 2010, 2011 |
# Free Software Foundation, Inc. |
# |
# This file is part of the GNU Binutils. |
# |
176,8 → 177,8
# Define some shell vars to insert bits of code into the standard elf |
# parse_args and list_options functions. |
# |
PARSE_AND_LIST_PROLOGUE=' |
#define OPTION_NO_TLS_OPT 301 |
PARSE_AND_LIST_PROLOGUE=${PARSE_AND_LIST_PROLOGUE}' |
#define OPTION_NO_TLS_OPT 321 |
#define OPTION_NO_TLS_GET_ADDR_OPT (OPTION_NO_TLS_OPT + 1) |
#define OPTION_NEW_PLT (OPTION_NO_TLS_GET_ADDR_OPT + 1) |
#define OPTION_OLD_PLT (OPTION_NEW_PLT + 1) |
186,7 → 187,7
#define OPTION_NO_STUBSYMS (OPTION_STUBSYMS + 1) |
' |
|
PARSE_AND_LIST_LONGOPTS=' |
PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}' |
{ "emit-stub-syms", no_argument, NULL, OPTION_STUBSYMS }, |
{ "no-emit-stub-syms", no_argument, NULL, OPTION_NO_STUBSYMS }, |
{ "no-tls-optimize", no_argument, NULL, OPTION_NO_TLS_OPT }, |
196,7 → 197,7
{ "sdata-got", no_argument, NULL, OPTION_OLD_GOT }, |
' |
|
PARSE_AND_LIST_OPTIONS=' |
PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}' |
fprintf (file, _("\ |
--emit-stub-syms Label linker stubs with a symbol.\n\ |
--no-emit-stub-syms Don'\''t label linker stubs with a symbol.\n\ |
208,7 → 209,7
)); |
' |
|
PARSE_AND_LIST_ARGS_CASES=' |
PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}' |
case OPTION_STUBSYMS: |
emit_stub_syms = 1; |
break; |
/mri.c
215,6 → 215,7
tmp->spec.name = p->name; |
tmp->spec.exclude_name_list = NULL; |
tmp->spec.sorted = none; |
tmp->spec.section_flag_list = NULL; |
lang_add_wild (NULL, tmp, FALSE); |
|
/* If there is an alias for this section, add it too. */ |
226,6 → 227,7
tmp->spec.name = aptr->name; |
tmp->spec.exclude_name_list = NULL; |
tmp->spec.sorted = none; |
tmp->spec.section_flag_list = NULL; |
lang_add_wild (NULL, tmp, FALSE); |
} |
|
/NEWS
1,5 → 1,13
-*- text -*- |
|
* --copy-dt-needed-entries is no longer enabled by default. Instead |
--no-copy-dt-needed-entries is the default. |
|
* INPUT_SECTION_FLAGS has been added to the linker script language |
to allow selection of input sections by section header section flags. |
|
* Add support for the Tilera TILEPRO and TILE-Gx architectures. |
|
* Added SORT_BY_INIT_PRIORITY to the linker script language to permit |
sorting sections by numerical value of the GCC init_priority attribute |
encoded in the section name. |
6,7 → 14,6
|
Changes in 2.21: |
|
|
* Linker script expression evaluation is somewhat more sane. This may |
break scripts that depend on quirks of the old expression evaluation. |
|
/ld.h
96,6 → 96,7
const char *name; |
struct name_list *exclude_name_list; |
sort_type sorted; |
struct flag_info *section_flag_list; |
}; |
|
struct wildcard_list { |
199,6 → 200,9
input files. */ |
bfd_boolean accept_unknown_input_arch; |
|
/* If TRUE we'll just print the default output on stdout. */ |
bfd_boolean print_output_format; |
|
/* Big or little endian as set on command line. */ |
enum endian_enum endian; |
|
/ChangeLog
1,3 → 1,189
2011-08-26 Nick Clifton <nickc@redhat.com> |
|
* po/es.po: Updated Spanish translation. |
|
2011-08-26 Nick Clifton <nickc@redhat.com> |
|
* NEWS: Mention that --no-copy-dt-needed-entries is now the |
default. |
|
2011-08-22 Michael Matz <matz@suse.de> |
|
* ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE. |
* ld.texinfo (--copy-dt-needed-entries): Mention new default. |
|
2011-08-17 Alan Modra <amodra@gmail.com> |
|
PR ld/12762 |
* ldlang.c (section_already_linked): Revert 2011-07-09 changes. |
* plugin.c: Likewise. |
(asymbol_from_plugin_symbol): Create linkonce section for syms |
with comdat_key. |
|
2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
|
* emultempl/armelf.em (fix_arm1176): New variable. |
(arm_elf_create_output_section_statements): Pass |
fix_arm1176 option to bfd backend. |
(OPTION_FIX_ARM1176): New define. |
(OPTION_NO_FIX_ARM1176): Likewise. |
(PARSE_AND_LIST_LONGOPTS): Add new command line options. |
(PARSE_AND_LIST_OPTIONS): Likewise. |
(PARSE_AND_LIST_ARGS_CASES): Likewise. |
* ld.texinfo: Document new command line options. |
|
2011-08-09 Alan Modra <amodra@gmail.com> |
|
PR ld/13066 |
* plugin.c (add_symbols): Revert 2011-08-05. |
|
2011-08-06 Kai Tietz <ktietz@redhat.com> |
|
* scripttempl/pep.sc: Add .debug_macro section. |
* scripttempl/pe.sc: Likewise. |
|
2011-08-05 Alan Modra <amodra@gmail.com> |
|
PR ld/12762 |
* plugin.c (add_symbols): Exclude comdat_key symbols from symbol |
table if already seen. |
|
2011-08-04 H.J. Lu <hongjiu.lu@intel.com> |
|
* ldmain.c (main): Replace remove_output with ld_cleanup in |
comments. |
|
2011-07-26 Alan Modra <amodra@gmail.com> |
|
* emulparams/elf32ppc.sh: Source plt_unwind.sh. |
* emulparams/elf64ppc.sh: Likewise. |
* emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust. |
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, |
PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to |
existing values. |
* emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust. |
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, |
PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to |
existing values. |
|
2011-07-22 H.J. Lu <hongjiu.lu@intel.com> |
|
* Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and |
eelf_k1om_fbsd.o |
(eelf_k1om.c): New. |
(eelf_k1om_fbsd.c): Likewise. |
* Makefile.in: Regenerated. |
|
* configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64 |
is supported. Add elf_k1om_fbsd if elf_x86_64_fbsd is supported. |
(targ_extra_emuls): Likewise. |
|
* emulparams/elf_k1om.sh: New. |
* emulparams/elf_k1om_fbsd.sh: Likewise. |
|
2011-07-16 Roland McGrath <roland@hack.frob.com> |
|
* ld.h (args_type): New field print_output_format. |
* lexsup.c (enum option_values, ld_options, parse_args): |
Handle --print-output-format. |
* ldmain.c (main): Implement --print-output-format. |
* ld.texinfo (Options): Document it. |
|
* ldlang.c (lang_get_output_target): Don't return current_target |
when it's NULL. |
|
2011-07-15 Alan Modra <amodra@gmail.com> |
|
* Makefile.am (e*.c): Sort. |
* Makefile.in: Regenerate. |
|
2011-07-14 Alan Modra <amodra@gmail.com> |
|
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option, |
gld${EMULATION_NAME}_list_options): Don't condition -z relro |
and -z norelro on COMMONPAGESIZE being defined. |
|
2011-07-14 Alan Modra <amodra@gmail.com> |
|
* emultempl/ppc64elf.em (plt_static_chain): New var. |
(gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs. |
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, |
PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle |
--plt-static-chain and --no-plt-static-chain. |
|
2011-07-14 Alan Modra <amodra@gmail.com> |
|
* emultempl/elf32.em (gld${EMULATION_NAME}_add_options, |
gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options): |
Provide --build-id, -z defs, -z muldefs, -z max-page-size, |
-z common-page-size, -z execstack, -z noexecstack for all targets. |
Add help for --exclude-libs. |
(OPTION_LD_GENERATED_UNWIND_INFO, |
OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this.. |
(gld${EMULATION_NAME}_handle_option): ..and code handling |
--ld-generated-unwind-info and --no-ld-generated-unwind-info.. |
* emulparams/plt_unwind.sh: ..to here. New file. Add help. |
* emulparams/elf32_x86_64.sh: Include plt_unwind.sh. |
* emulparams/elf_i386.sh: Likewise. |
* emulparams/elf_i386_chaos.sh: Likewise. |
* emulparams/elf_i386_ldso.sh: Likewise. |
* emulparams/elf_l1om.sh: Likewise. |
* emulparams/elf_x86_64.sh: Likewise. |
|
2011-07-11 Catherine Moore <clm@codesourcery.com> |
|
* ld.h (section_flag_list): Add field to struct wildcard_spec. |
* ld.texinfo (INPUT_SECTION_FLAGS): Document. |
* ldgram.y (flag_info_list, flag_info): Add to union. |
(INPUT_SECTION_FLAGS): New token. |
(wildcard_spec): Initialize section_flag_list to NULL for |
each alternative. |
(sect_flag_list, sect_flags): New rules. |
(input_section_spec_no_keep): Add alternatives to recognize |
sect_flags. |
* ldlang.c (walk_wild_consider_section): Initialize |
section_flag_info field of the section struct. |
(lang_add_section): Check input section flags. |
(lang_add_wild): Initialize section_flag_list field of |
the statement struct. |
* ldlang.h (lang_input_statement_struct): Add section_flag_list field. |
(lang_wild_statement_struct): Likewise. |
* ldlex.l (INPUT_SECTION_FLAGS): New token. |
* mri.c (mri_draw_tree): Initialize section_flag_list to NULL. |
* NEWS: Announce INPUT_SECTION_FLAGS enhancement. |
|
2011-07-09 H.J. Lu <hongjiu.lu@intel.com> |
|
PR ld/12942 |
* ldlang.c (section_already_linked): Pass "struct already_linked *" |
to bfd_section_already_linked. |
(lang_process): Set link_info.loading_lto_outputs before |
loading LTO outputs. |
* plugin.c: Include "libbfd.h". |
(add_symbols): Call bfd_section_already_linked with comdat_key. |
|
2011-06-20 H.J. Lu <hongjiu.lu@intel.com> |
|
* configure.tgt: Revert x32 change. |
|
2011-06-20 Jakub Jelinek <jakub@redhat.com> |
|
PR ld/12570 |
* emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO, |
OPTION_NO_LD_GENERATED_UNWIND_INFO): Define. |
(gld${EMULATION_NAME}_handle_option): Handle |
--ld-generated-unwind-info and --no-ld-generated-unwind-info. |
* ld.texinfo (--ld-generated-unwind-info, |
--no-ld-generated-unwind-info): Document. |
|
2011-06-19 H.J. Lu <hongjiu.lu@intel.com> |
|
* configure.tgt: Support x32. |
|
2011-06-15 Nick Clifton <nickc@redhat.com> |
|
* NEWS: Mention addition of TILEPRO and TIKE-Gx support. |
|
2011-06-13 Walter Lee <walt@tilera.com> |
|
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and |
350,7 → 536,7
2011-03-31 H.J. Lu <hongjiu.lu@intel.com> |
|
* configure.tgt: Add elf_l1om to targ_extra_libpath for |
x86_64-*-linux-*. |
x86_64-*-linux-*. |
|
* emulparams/elf_l1om.sh: Remove duplicates. |
|
/testsuite/ld-shared/shared.exp
234,7 → 234,9
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } { |
setup_xfail "sparc*-*-linux*" |
} |
setup_xfail "x86_64-*-linux*" |
if { [is_elf64 $tmpdir/mainnp.o] } { |
setup_xfail "x86_64-*-linux*" |
} |
setup_xfail "s390x-*-linux*" |
if [ string match $shared_needs_pic "yes" ] { |
setup_xfail "arm*-*-linux*" |
257,7 → 259,9
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } { |
setup_xfail "sparc*-*-linux*" |
} |
setup_xfail "x86_64-*-linux*" |
if { [is_elf64 $tmpdir/mainnp.o] } { |
setup_xfail "x86_64-*-linux*" |
} |
setup_xfail "s390x-*-linux*" |
if [ string match $shared_needs_pic "yes" ] { |
setup_xfail "arm*-*-linux*" |
310,7 → 314,9
if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainp.o] } { |
setup_xfail "sparc*-*-linux*" |
} |
setup_xfail "x86_64-*-linux*" |
if { [is_elf64 $tmpdir/mainp.o] } { |
setup_xfail "x86_64-*-linux*" |
} |
setup_xfail "s390x-*-linux*" |
if [ string match $shared_needs_pic "yes" ] { |
setup_xfail "arm*-*-linux*" |
/testsuite/ld-arm/fix-arm1176-on.d
0,0 → 1,20
|
.+: file format elf32-littlearm |
|
|
Disassembly of section .foo: |
|
[0-9a-f]+ <_start>: |
[0-9a-f]+: f000 f800 bl 2001018 <__func_to_branch_to_veneer> |
|
[0-9a-f]+ <__func_to_branch_to_veneer>: |
[0-9a-f]+: 4778 bx pc |
[0-9a-f]+: 46c0 nop ; \(mov r8, r8\) |
[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8> |
[0-9a-f]+: 00008000 .word 0x00008000 |
[0-9a-f]+: 00000000 .word 0x00000000 |
|
Disassembly of section .text: |
|
[0-9a-f]+ <func_to_branch_to>: |
[0-9a-f]+: e12fff1e bx lr |
/testsuite/ld-arm/fix-arm1176.s
0,0 → 1,15
.syntax unified |
.globl _start |
.globl func_to_branch_to |
|
.arm |
.text |
func_to_branch_to: |
bx lr |
|
.thumb |
.section .foo, "xa" |
.thumb_func |
_start: |
bl func_to_branch_to |
|
/testsuite/ld-arm/arm-elf.exp
137,7 → 137,7
{"arm-rel32" "-shared -T arm-dyn.ld" "" {arm-rel32.s} |
{{objdump -Rsj.data arm-rel32.d}} |
"arm-rel32"} |
{"arm-call" "-static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s} |
{"arm-call" "--no-fix-arm1176 -static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s} |
{{objdump -d arm-call.d}} |
"arm-call"} |
{"TLS shared library" "-shared -T arm-lib.ld" "" {tls-lib.s} |
149,16 → 149,16
{"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" {tls-gdesc-got.s} |
{{objdump "-fDR -j .got" tls-gdesc-got.d}} |
"tls-lib2-got.so"} |
{"TLS gnu shared library inlined trampoline" "-shared -T arm-dyn.ld" "" {tls-descseq.s} |
{"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-descseq.s} |
{{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}} |
"tls-lib2inline.so"} |
{"TLS shared library gdesc local" "-shared -T arm-dyn.ld" "" {tls-lib-loc.s} |
{"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-lib-loc.s} |
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}} |
"tls-lib-loc.so"} |
{"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" {tls-gdierelax.s} |
{{objdump -fdw tls-gdierelax.d}} |
"tls-app-rel-ie"} |
{"TLS gnu GD to IE shared relaxation" "-shared -T arm-dyn.ld" "" {tls-gdierelax2.s} |
{"TLS gnu GD to IE shared relaxation" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdierelax2.s} |
{{objdump -fdw tls-gdierelax2.d}} |
"tls-app-rel-ie2"} |
{"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" "" {tls-gdlerelax.s} |
507,7 → 507,7
{"MOVW/MOVT against shared libraries" "tmpdir/arm-lib.so" "" {arm-app-movw.s} |
{{objdump -Rw arm-app.r}} |
"arm-app-movw"} |
{"Thumb-2-as-Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-as-thumb1-bad.s} |
{"Thumb-2-as-Thumb-1 BL" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-as-thumb1-bad.s} |
{{objdump -d thumb2-bl-as-thumb1-bad.d}} |
"thumb2-bl-as-thumb1-bad"} |
{"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-bad.s} |
530,7 → 530,7
{"ARM-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" {farcall-arm-thumb.s} |
{{objdump -d farcall-arm-thumb.d}} |
"farcall-arm-thumb"} |
{"ARM-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-arm-thumb.s} |
{"ARM-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-arm-thumb.s} |
{{objdump -d farcall-arm-thumb-blx.d}} |
"farcall-arm-thumb-blx"} |
{"ARM-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" {farcall-arm-thumb.s} |
540,7 → 540,7
{{objdump -d farcall-arm-thumb-blx-pic-veneer.d}} |
"farcall-arm-thumb-blx-pic-veneer"} |
|
{"Thumb-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s} |
{"Thumb-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s} |
{{objdump -d farcall-thumb-thumb-blx.d}} |
"farcall-thumb-thumb-blx"} |
{"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv7-m" {farcall-thumb-thumb.s} |
552,7 → 552,7
{"Thumb-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv4t" {farcall-thumb-thumb.s} |
{{objdump -d farcall-thumb-thumb.d}} |
"farcall-thumb-thumb"} |
{"Thumb-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s} |
{"Thumb-Thumb farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s} |
{{objdump -d farcall-thumb-thumb-blx-pic-veneer.d}} |
"farcall-thumb-thumb-blx-pic-veneer"} |
{"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv7-m" {farcall-thumb-thumb.s} |
574,10 → 574,10
{"Thumb-ARM (short) call" "-Ttext 0x1000 --section-start .foo=0x0002014" "-W" {farcall-thumb-arm-short.s} |
{{objdump -d farcall-thumb-arm-short.d}} |
"farcall-thumb-arm-short"} |
{"Thumb-ARM farcall with BLX" "-Ttext 0x1c01010 --section-start .foo=0x2001014" "-W -march=armv5t" {farcall-thumb-arm.s} |
{"Thumb-ARM farcall with BLX" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014" "-W -march=armv5t" {farcall-thumb-arm.s} |
{{objdump -d farcall-thumb-arm-blx.d}} |
"farcall-thumb-arm-blx"} |
{"Thumb-ARM farcall with BLX (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W -march=armv5t" {farcall-thumb-arm.s} |
{"Thumb-ARM farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W -march=armv5t" {farcall-thumb-arm.s} |
{{objdump -d farcall-thumb-arm-blx-pic-veneer.d}} |
"farcall-thumb-arm-blx-pic-veneer"} |
{"Thumb-ARM farcall (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W" {farcall-thumb-arm.s} |
617,7 → 617,7
{{objdump -fdw farcall-mixed-lib-v4t.d}} |
"farcall-mixed-lib.so"} |
|
{"Mixed ARM/Thumb shared library with long branches (v5t)" "-shared -T arm-lib.ld" "-march=armv5t" |
{"Mixed ARM/Thumb shared library with long branches (v5t)" "--no-fix-arm1176 -shared -T arm-lib.ld" "-march=armv5t" |
{farcall-mixed-lib1.s farcall-mixed-lib2.s} |
{{objdump -fdw farcall-mixed-lib.d}} |
"farcall-mixed-lib.so"} |
627,24 → 627,24
"farcall-data"} |
|
{"R_ARM_THM_JUMP24 Relocation veneers: Short 1" |
"--section-start destsect=0x00009000 --section-start .text=0x8000" |
"--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000" |
"-march=armv7-a -mthumb" |
{jump-reloc-veneers.s} |
{{objdump -d jump-reloc-veneers-short1.d}} |
"jump-reloc-veneers-short1"} |
{"R_ARM_THM_JUMP24 Relocation veneers: Short 2" |
"--section-start destsect=0x00900000 --section-start .text=0x8000" |
"--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000" |
"-march=armv7-a -mthumb" |
{jump-reloc-veneers.s} |
{{objdump -d jump-reloc-veneers-short2.d}} |
"jump-reloc-veneers-short2"} |
{"R_ARM_THM_JUMP24 Relocation veneers: Long" |
"--section-start destsect=0x09000000 --section-start .text=0x8000" |
"--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000" |
"-march=armv7-a -mthumb" |
{jump-reloc-veneers.s} |
{{objdump -d jump-reloc-veneers-long.d}} |
"jump-reloc-veneers-long"} |
{"TLS gnu shared library" "-shared -T arm-dyn.ld" "" {tls-gdesc.s} |
{"TLS gnu shared library" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdesc.s} |
{{objdump -fdw tls-gdesc.d} {objdump -Rw tls-gdesc.r}} |
"tls-lib2.so"} |
{"TLS gnu shared library non-lazy" "-z now -shared -T arm-dyn.ld" "" {tls-gdesc.s} |
659,6 → 659,31
{"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" {tls-thumb1.s} |
{{objdump -fdw tls-thumb1.d}} |
"tls-thumb1"} |
|
{"erratum 760522 fix (default for v6z)" "--section-start=.foo=0x2001014" |
"-march=armv6z" {fix-arm1176.s} |
{{objdump -d fix-arm1176-on.d}} |
"fix-arm1176-1"} |
{"erratum 760522 fix (explicitly on at v6z)" "--section-start=.foo=0x2001014 --fix-arm1176" |
"-march=armv6z" {fix-arm1176.s} |
{{objdump -d fix-arm1176-on.d}} |
"fix-arm1176-2"} |
{"erratum 760522 fix (explicitly off at v6z)" "--section-start=.foo=0x2001014 --no-fix-arm1176" |
"-march=armv6z" {fix-arm1176.s} |
{{objdump -d fix-arm1176-off.d}} |
"fix-arm1176-3"} |
{"erratum 760522 fix (default for v5)" "--section-start=.foo=0x2001014 " |
"-march=armv5te" {fix-arm1176.s} |
{{objdump -d fix-arm1176-on.d}} |
"fix-arm1176-4"} |
{"erratum 760522 fix (default for v7-a)" "--section-start=.foo=0x2001014 " |
"-march=armv7-a" {fix-arm1176.s} |
{{objdump -d fix-arm1176-off.d}} |
"fix-arm1176-5"} |
{"erratum 760522 fix (default for ARM1156)" "--section-start=.foo=0x2001014 " |
"-mcpu=arm1156t2f-s" {fix-arm1176.s} |
{{objdump -d fix-arm1176-off.d}} |
"fix-arm1176-6"} |
} |
|
run_ld_link_tests $armeabitests |
/testsuite/ld-arm/fix-arm1176-off.d
0,0 → 1,17
|
.*: file format elf32-littlearm |
|
|
Disassembly of section .foo: |
|
[0-9a-f]+ <_start>: |
[0-9a-f]+: f000 e800 blx 2001018 <__func_to_branch_to_veneer> |
|
[0-9a-f]+ <__func_to_branch_to_veneer>: |
[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 200101c <__func_to_branch_to_veneer\+0x4> |
[0-9a-f]+: 00008000 .word 0x00008000 |
|
Disassembly of section .text: |
|
[0-9a-f]+ <func_to_branch_to>: |
[0-9a-f]+: e12fff1e bx lr |
/testsuite/ld-powerpc/tlsexe.d
21,7 → 21,6
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 48 ld r11,-32696\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 58 ld r11,-32680\(r2\) |
.* e8 42 80 50 ld r2,-32688\(r2\) |
.* 4e 80 04 21 bctrl |
.* e9 61 00 20 ld r11,32\(r1\) |
34,7 → 33,7
.* 60 00 00 00 nop |
.* 7c 63 6a 14 add r3,r3,r13 |
.* 38 62 80 18 addi r3,r2,-32744 |
.* 4b ff ff a5 bl .* |
.* 4b ff ff a9 bl .* |
.* 60 00 00 00 nop |
.* 3c 6d 00 00 addis r3,r13,0 |
.* 60 00 00 00 nop |
68,7 → 67,6
.* e9 4d 90 2a lwa r10,-28632\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* a9 49 90 30 lha r10,-28624\(r9\) |
.* 60 00 00 00 nop |
.* 00 00 00 00 .* |
.* 00 01 02 00 .* |
.* <__glink_PLTresolve>: |
/testsuite/ld-powerpc/tlsexe.g
7,6 → 7,6
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
.* 00000000 10018618 ffffffff ffff8018 .* |
.* 00000000 10018610 ffffffff ffff8018 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
/testsuite/ld-powerpc/tlsexe.r
16,11 → 16,10
+\[[ 0-9]+\] \.dynstr +.* |
+\[[ 0-9]+\] \.rela\.dyn +.* |
+\[[ 0-9]+\] \.rela\.plt +.* |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+130 0+ +AX +0 +0 +8 |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+128 0+ +AX +0 +0 +8 |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+160 10 +WA +4 +0 +8 |
+\[[ 0-9]+\] \.branch_lt + PROGBITS .* 0+ 0+ +WA +0 +0 +8 |
+\[[ 0-9]+\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +8 |
+\[[ 0-9]+\] \.plt +.* |
+\[[ 0-9]+\] \.shstrtab +.* |
47,7 → 46,7
+0+ + |
+01 +\.interp |
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+03 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt |
+03 +\.tdata \.dynamic \.got \.plt |
+04 +\.dynamic |
+05 +\.tdata \.tbss |
|
87,7 → 86,6
.* SECTION +LOCAL +DEFAULT +10 |
.* SECTION +LOCAL +DEFAULT +11 |
.* SECTION +LOCAL +DEFAULT +12 |
.* SECTION +LOCAL +DEFAULT +13 |
.* TLS +LOCAL +DEFAULT +8 gd4 |
.* TLS +LOCAL +DEFAULT +8 ld4 |
.* TLS +LOCAL +DEFAULT +8 ld5 |
/testsuite/ld-powerpc/tocopt3.d
0,0 → 1,5
|
.*: file format .* |
|
Contents of section \.text: |
100000b0 3d22effe 39297f4a .* |
/testsuite/ld-powerpc/tocopt3.s
0,0 → 1,9
.section .toc,"aw" |
0: |
.quad x |
|
.globl _start |
.text |
_start: |
addis 9,2,0b@toc@ha |
ld 9,0b@toc@l(9) |
/testsuite/ld-powerpc/powerpc.exp
113,11 → 113,11
"tls32"} |
{"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" {} |
{} "libtlslib32.so"} |
{"TLS32 dynamic exec" "-melf32ppc tmpdir/tls32.o tmpdir/libtlslib32.so" "" {} |
{"TLS32 dynamic exec" "-melf32ppc --no-ld-generated-unwind-info tmpdir/tls32.o tmpdir/libtlslib32.so" "" {} |
{{readelf -WSsrl tlsexe32.r} {objdump -dr tlsexe32.d} |
{objdump -sj.got tlsexe32.g} {objdump -sj.tdata tlsexe32.t}} |
"tlsexe32"} |
{"TLS32 shared" "-shared -melf32ppc tmpdir/tls32.o" "" {} |
{"TLS32 shared" "-shared -melf32ppc --no-ld-generated-unwind-info tmpdir/tls32.o" "" {} |
{{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d} |
{objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}} |
"tls32.so"} |
156,15 → 156,15
{} "libtlslib.so"} |
{"TLS helper old shared lib" "-shared -melf64ppc" "-a64" {oldtlslib.s} |
{} "liboldlib.so"} |
{"TLS dynamic exec" "-melf64ppc tmpdir/tls.o tmpdir/libtlslib.so" "" {} |
{"TLS dynamic exec" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o tmpdir/libtlslib.so" "" {} |
{{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} |
{objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} |
"tlsexe"} |
{"TLS dynamic old" "-melf64ppc tmpdir/tls.o tmpdir/liboldlib.so" "" {} |
{"TLS dynamic old" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o tmpdir/liboldlib.so" "" {} |
{{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} |
{objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} |
"tlsexeold"} |
{"TLS shared" "-shared -melf64ppc tmpdir/tls.o" "" {} |
{"TLS shared" "-shared -melf64ppc --no-ld-generated-unwind-info tmpdir/tls.o" "" {} |
{{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d} |
{objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}} |
"tls.so"} |
172,17 → 172,17
{{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g} |
{objdump -sj.tdata tlstoc.t}} |
"tlstoc"} |
{"TLSTOC dynamic exec" "-melf64ppc tmpdir/tlstoc.o tmpdir/libtlslib.so" |
{"TLSTOC dynamic exec" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o tmpdir/libtlslib.so" |
"" {} |
{{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} |
{objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} |
"tlsexetoc"} |
{"TLSTOC dynamic old" "-melf64ppc tmpdir/tlstoc.o tmpdir/liboldlib.so" |
{"TLSTOC dynamic old" "-melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o tmpdir/liboldlib.so" |
"" {} |
{{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} |
{objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} |
"tlsexetocold"} |
{"TLSTOC shared" "-shared -melf64ppc tmpdir/tlstoc.o" "" {} |
{"TLSTOC shared" "-shared -melf64ppc --no-ld-generated-unwind-info tmpdir/tlstoc.o" "" {} |
{{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d} |
{objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}} |
"tlstoc.so"} |
204,7 → 204,13
{"sym@tocbase" "-shared -melf64ppc" "-a64" {symtocbase-1.s symtocbase-2.s} |
{{objdump -dj.data symtocbase.d}} "symtocbase.so"} |
{"TOC opt" "-melf64ppc" "-a64" {tocopt.s} |
{{objdump -s tocopt.d}} "tocopt"} |
{{objdump -s tocopt.d}} "tocopt"} |
{"TOC opt2" "-melf64ppc --defsym x=2" "-a64" {tocopt2.s} |
{{ld tocopt2.out} {objdump -s tocopt2.d}} "tocopt2"} |
{"TOC opt3" "-melf64ppc -no-keep-memory --defsym x=2" "-a64" {tocopt3.s} |
{{objdump -s tocopt3.d}} "tocopt3"} |
{"TOC opt4" "-melf64ppc -no-keep-memory --defsym x=2" "-a64" |
{tocopt4a.s tocopt4b.s} {{objdump -s tocopt4.d}} "tocopt4"} |
} |
|
|
/testsuite/ld-powerpc/tocopt4.d
0,0 → 1,7
|
.*: file format .* |
|
Contents of section \.text: |
100000b0 e9298000 .* |
Contents of section \.got: |
100100b8 00000000 00000002 .* |
/testsuite/ld-powerpc/tlsso.d
12,22 → 12,21
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 78 ld r11,-32648\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 88 ld r11,-32632\(r2\) |
.* e8 42 80 80 ld r2,-32640\(r2\) |
.* 4e 80 04 20 bctr |
|
.* <_start>: |
.* 38 62 80 20 addi r3,r2,-32736 |
.* 4b ff ff e5 bl .* |
.* 4b ff ff e9 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 50 addi r3,r2,-32688 |
.* 4b ff ff d9 bl .* |
.* 4b ff ff dd bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 38 addi r3,r2,-32712 |
.* 4b ff ff cd bl .* |
.* 4b ff ff d1 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 50 addi r3,r2,-32688 |
.* 4b ff ff c1 bl .* |
.* 4b ff ff c5 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 39 23 80 40 addi r9,r3,-32704 |
.* 3d 23 00 00 addis r9,r3,0 |
40,10 → 39,10
.* 3d 2d 00 00 addis r9,r13,0 |
.* 99 49 00 00 stb r10,0\(r9\) |
.* 38 62 80 08 addi r3,r2,-32760 |
.* 4b ff ff 8d bl .* |
.* 4b ff ff 91 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 50 addi r3,r2,-32688 |
.* 4b ff ff 81 bl .* |
.* 4b ff ff 85 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* f9 43 80 08 std r10,-32760\(r3\) |
.* 3d 23 00 00 addis r9,r3,0 |
55,6 → 54,7
.* e9 4d 00 02 lwa r10,0\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* a9 49 00 00 lha r10,0\(r9\) |
.* 60 00 00 00 nop |
.* 00 00 00 00 .* |
.* 00 01 02 20 .* |
.* <__glink_PLTresolve>: |
/testsuite/ld-powerpc/relbrlt.d
1,6 → 1,6
#source: relbrlt.s |
#as: -a64 |
#ld: -melf64ppc --emit-relocs |
#ld: -melf64ppc --no-ld-generated-unwind-info --emit-relocs |
#objdump: -Dr |
|
.*: file format elf64-powerpc |
/testsuite/ld-powerpc/tocopt2.out
0,0 → 1,6
.*: xt defined on removed toc entry |
/testsuite/ld-powerpc/tlsso.r
18,7 → 18,6
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic .* |
+\[[ 0-9]+\] \.branch_lt .* |
+\[[ 0-9]+\] \.got .* |
+\[[ 0-9]+\] \.plt .* |
+\[[ 0-9]+\] \.shstrtab .* |
40,7 → 39,7
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+01 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt |
+01 +\.tdata \.dynamic .got \.plt |
+02 +\.dynamic |
+03 +\.tdata \.tbss |
|
101,7 → 100,6
.* SECTION +LOCAL +DEFAULT +9 |
.* SECTION +LOCAL +DEFAULT +10 |
.* SECTION +LOCAL +DEFAULT +11 |
.* SECTION +LOCAL +DEFAULT +12 |
.* TLS +LOCAL +DEFAULT +7 gd4 |
.* TLS +LOCAL +DEFAULT +7 ld4 |
.* TLS +LOCAL +DEFAULT +7 ld5 |
/testsuite/ld-powerpc/tlsexetoc.d
21,7 → 21,6
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 70 ld r11,-32656\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 80 ld r11,-32640\(r2\) |
.* e8 42 80 78 ld r2,-32648\(r2\) |
.* 4e 80 04 21 bctrl |
.* e9 61 00 20 ld r11,32\(r1\) |
31,10 → 30,10
|
.* <_start>: |
.* 38 62 80 08 addi r3,r2,-32760 |
.* 4b ff ff b1 bl .* |
.* 4b ff ff b5 bl .* |
.* 60 00 00 00 nop |
.* 38 62 80 18 addi r3,r2,-32744 |
.* 4b ff ff a5 bl .* |
.* 4b ff ff a9 bl .* |
.* 60 00 00 00 nop |
.* 3c 6d 00 00 addis r3,r13,0 |
.* 60 00 00 00 nop |
52,7 → 51,6
.* 89 4d 90 60 lbz r10,-28576\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* 99 49 90 68 stb r10,-28568\(r9\) |
.* 60 00 00 00 nop |
.* 00 00 00 00 .* |
.* 00 01 02 28 .* |
.* <__glink_PLTresolve>: |
/testsuite/ld-powerpc/tlsexetoc.g
7,7 → 7,7
.*: +file format elf64-powerpc |
|
Contents of section \.got: |
.* 00000000 100185b0 00000000 00000000 .* |
.* 00000000 100185a8 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000000 .* |
.* 00000000 00000000 00000000 00000001 .* |
.* 00000000 00000000 00000000 00000001 .* |
/testsuite/ld-powerpc/tlsexetoc.r
16,11 → 16,10
+\[[ 0-9]+\] \.dynstr +.* |
+\[[ 0-9]+\] \.rela\.dyn +.* |
+\[[ 0-9]+\] \.rela\.plt +.* |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+f0 0+ +AX +0 +0 +8 |
+\[[ 0-9]+\] \.text +PROGBITS .* 0+e8 0+ +AX +0 +0 +8 |
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic +DYNAMIC .* 0+160 10 +WA +4 +0 +8 |
+\[[ 0-9]+\] \.branch_lt +PROGBITS .* 0+ 0+ +WA +0 +0 +8 |
+\[[ 0-9]+\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +8 |
+\[[ 0-9]+\] \.plt +.* |
+\[[ 0-9]+\] \.shstrtab +.* |
47,7 → 46,7
+0+ + |
+01 +\.interp |
+02 +\.interp \.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+03 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt |
+03 +\.tdata \.dynamic \.got \.plt |
+04 +\.dynamic |
+05 +\.tdata \.tbss |
|
86,7 → 85,6
.* SECTION +LOCAL +DEFAULT +10 |
.* SECTION +LOCAL +DEFAULT +11 |
.* SECTION +LOCAL +DEFAULT +12 |
.* SECTION +LOCAL +DEFAULT +13 |
.* TLS +LOCAL +DEFAULT +8 gd4 |
.* TLS +LOCAL +DEFAULT +8 ld4 |
.* TLS +LOCAL +DEFAULT +8 ld5 |
94,7 → 92,7
.* TLS +LOCAL +DEFAULT +8 ie4 |
.* TLS +LOCAL +DEFAULT +8 le4 |
.* TLS +LOCAL +DEFAULT +8 le5 |
.* NOTYPE +LOCAL +DEFAULT +12 \.Lie0 |
.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0 |
.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC |
.* (NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0|(FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)) |
.* (NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve|NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0) |
/testsuite/ld-powerpc/tlstocso.d
12,22 → 12,21
.* f8 41 00 28 std r2,40\(r1\) |
.* e9 62 80 70 ld r11,-32656\(r2\) |
.* 7d 69 03 a6 mtctr r11 |
.* e9 62 80 80 ld r11,-32640\(r2\) |
.* e8 42 80 78 ld r2,-32648\(r2\) |
.* 4e 80 04 20 bctr |
|
.* <_start>: |
.* 38 62 80 08 addi r3,r2,-32760 |
.* 4b ff ff e5 bl .* |
.* 4b ff ff e9 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 18 addi r3,r2,-32744 |
.* 4b ff ff d9 bl .* |
.* 4b ff ff dd bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 28 addi r3,r2,-32728 |
.* 4b ff ff cd bl .* |
.* 4b ff ff d1 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 38 62 80 38 addi r3,r2,-32712 |
.* 4b ff ff c1 bl .* |
.* 4b ff ff c5 bl .* |
.* e8 41 00 28 ld r2,40\(r1\) |
.* 39 23 80 40 addi r9,r3,-32704 |
.* 3d 23 00 00 addis r9,r3,0 |
39,6 → 38,7
.* 89 4d 00 00 lbz r10,0\(r13\) |
.* 3d 2d 00 00 addis r9,r13,0 |
.* 99 49 00 00 stb r10,0\(r9\) |
.* 60 00 00 00 nop |
.* 00 00 00 00 .* |
.* 00 01 02 18 .* |
.* <__glink_PLTresolve>: |
/testsuite/ld-powerpc/tocopt4a.s
0,0 → 1,4
.globl _start |
.text |
_start: |
ld 9,xt@toc(9) |
/testsuite/ld-powerpc/tlstocso.r
18,7 → 18,6
+\[[ 0-9]+\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 |
+\[[ 0-9]+\] \.dynamic .* |
+\[[ 0-9]+\] \.branch_lt .* |
+\[[ 0-9]+\] \.got .* |
+\[[ 0-9]+\] \.plt .* |
+\[[ 0-9]+\] \.shstrtab .* |
40,7 → 39,7
Section to Segment mapping: |
+Segment Sections\.\.\. |
+0+ +\.hash \.dynsym \.dynstr \.rela\.dyn \.rela\.plt \.text |
+01 +\.tdata \.dynamic (\.branch_lt |)\.got \.plt |
+01 +\.tdata \.dynamic \.got \.plt |
+02 +\.dynamic |
+03 +\.tdata \.tbss |
|
96,7 → 95,6
.* SECTION +LOCAL +DEFAULT +9 |
.* SECTION +LOCAL +DEFAULT +10 |
.* SECTION +LOCAL +DEFAULT +11 |
.* SECTION +LOCAL +DEFAULT +12 |
.* TLS +LOCAL +DEFAULT +7 gd4 |
.* TLS +LOCAL +DEFAULT +7 ld4 |
.* TLS +LOCAL +DEFAULT +7 ld5 |
104,7 → 102,7
.* TLS +LOCAL +DEFAULT +7 ie4 |
.* TLS +LOCAL +DEFAULT +7 le4 |
.* TLS +LOCAL +DEFAULT +7 le5 |
.* NOTYPE +LOCAL +DEFAULT +11 \.Lie0 |
.* NOTYPE +LOCAL +DEFAULT +10 \.Lie0 |
.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC |
.* NOTYPE +LOCAL +DEFAULT +6 00000010\.plt_call\.__tls_get_addr\+0 |
.* NOTYPE +LOCAL +DEFAULT +6 __glink_PLTresolve |
/testsuite/ld-powerpc/tocopt2.d
0,0 → 1,5
|
.*: file format .* |
|
Contents of section \.text: |
100000b0 3d22effe 39297f4a .* |
/testsuite/ld-powerpc/tocopt2.s
0,0 → 1,10
.globl xt |
.section .toc,"aw" |
xt: |
.quad x |
|
.globl _start |
.text |
_start: |
addis 9,2,xt@toc@ha |
ld 9,xt@toc@l(9) |
/testsuite/ld-powerpc/tocopt4b.s
0,0 → 1,17
.section .toc,"aw" |
.globl xt |
xt: |
.quad x |
# |
# This testcase will fail with a warning "xt defined on removed toc entry" |
# if a large-toc access like the following is added to this file, because |
# toc analysis only considers toc accesses from the current object file. |
# The small-toc access from tocopt4a.s doesn't cause xt entry to be marked |
# !can_optimize. The testcase only passes because toc analysis considers |
# *no* access from the current file as being sufficiently unusual to |
# warrant keeping the toc entry. So, if you use global symbols on toc |
# entries, don't mix code models. |
# |
# .text |
# addis 9,2,xt@toc@ha |
# ld 9,xt@toc@l(9) |
/testsuite/ld-i386/pr12921.s
0,0 → 1,25
.text |
.balign 4096 |
vtext: |
.p2align 4,,15 |
.globl _start |
.type _start, @function |
_start: |
ret |
.size _start, .-_start |
.globl vdata |
.data |
.align 4096 |
.type vdata, @object |
.size vdata, 4 |
vdata: |
.long 5 |
.comm vbss,65536,4096 |
.align 16 |
.type local, @object |
.size local, 24 |
local: |
.byte 77 |
.zero 7 |
.dc.a local |
.dc.a 0 |
/testsuite/ld-i386/tlsnopic.dd
1,7 → 1,7
#source: tlsnopic1.s |
#source: tlsnopic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbindesc.sd
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbin.rd
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#readelf: -Ssrl |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsdesc.rd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#readelf: -Ssrl |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbindesc.dd
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: i?86-*-* |
|
/testsuite/ld-i386/i386.exp
118,12 → 118,14
# readelf: Apply readelf options on result. Compare with regex (last arg). |
|
set i386tests { |
{"TLS -fpic -shared transitions" "-shared -melf_i386" |
{"TLS -fpic -shared transitions" |
"-shared -melf_i386 --no-ld-generated-unwind-info" |
"--32" {tlspic1.s tlspic2.s} |
{{readelf -Ssrl tlspic.rd} {objdump -drj.text tlspic.dd} |
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}} |
"libtlspic.so"} |
{"TLS descriptor -fpic -shared transitions" "-shared -melf_i386" |
{"TLS descriptor -fpic -shared transitions" |
"-shared -melf_i386 --no-ld-generated-unwind-info" |
"--32" {tlsdesc.s tlspic2.s} |
{{readelf -Ssrl tlsdesc.rd} {objdump -drj.text tlsdesc.dd} |
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}} |
131,21 → 133,24
{"Helper shared library" "-shared -melf_i386" |
"--32" {tlslib.s} {} "libtlslib.so"} |
{"TLS -fpic and -fno-pic exec transitions" |
"-melf_i386 tmpdir/libtlslib.so" "--32" {tlsbinpic.s tlsbin.s} |
"-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info" |
"--32" {tlsbinpic.s tlsbin.s} |
{{readelf -Ssrl tlsbin.rd} {objdump -drj.text tlsbin.dd} |
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}} |
"tlsbin"} |
{"TLS descriptor -fpic and -fno-pic exec transitions" |
"-melf_i386 tmpdir/libtlslib.so" "--32" {tlsbindesc.s tlsbin.s} |
"-melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info" |
"--32" {tlsbindesc.s tlsbin.s} |
{{readelf -Ssrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd} |
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}} |
"tlsbindesc"} |
{"TLS -fno-pic -shared" "-shared -melf_i386" |
{"TLS -fno-pic -shared" "-shared -melf_i386 --no-ld-generated-unwind-info" |
"--32" {tlsnopic1.s tlsnopic2.s} |
{{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd} |
{objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"} |
{"TLS with global dynamic and descriptors" |
"-shared -melf_i386" "--32" {tlsgdesc.s} |
"-shared -melf_i386 --no-ld-generated-unwind-info" |
"--32" {tlsgdesc.s} |
{{readelf -Ssrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}} |
"libtlsgdesc.so"} |
{"TLS in debug sections" "-melf_i386" |
195,6 → 200,7
run_dump_test "nogot2" |
run_dump_test "discarded1" |
run_dump_test "pr12718" |
run_dump_test "pr12921" |
|
if { !([istarget "i?86-*-linux*"] |
|| [istarget "i?86-*-gnu*"] |
/testsuite/ld-i386/tlsgdesc.dd
1,6 → 1,6
#source: tlsgdesc.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbin.sd
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbindesc.td
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlspic.rd
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#readelf: -Ssrl |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsdesc.sd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -s -j.got -j.got.plt |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbin.dd
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsdesc.dd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsnopic.rd
1,7 → 1,7
#source: tlsnopic1.s |
#source: tlsnopic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#readelf: -Ssrl |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbin.td
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlspic.sd
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsdesc.td
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: i?86-*-* |
|
/testsuite/ld-i386/vxworks1-lib.rd
1,4 → 1,9
|
Relocation section '\.rel\.plt' at offset .* contains 2 entries: |
Offset Info Type Sym\.Value Sym\. Name |
0008140c .*07 R_386_JUMP_SLOT 00000000 sexternal |
00081410 .*07 R_386_JUMP_SLOT 00080c27 sglobal |
|
Relocation section '\.rel\.dyn' at offset .* contains 4 entries: |
Offset Info Type Sym\.Value Sym\. Name |
00081800 00000008 R_386_RELATIVE * |
5,8 → 10,3
00080c03 .*01 R_386_32 00000000 __GOTT_BASE__ |
00080c09 .*01 R_386_32 00000000 __GOTT_INDEX__ |
00081414 .*06 R_386_GLOB_DAT 00081c00 x |
|
Relocation section '\.rel\.plt' at offset .* contains 2 entries: |
Offset Info Type Sym\.Value Sym\. Name |
0008140c .*07 R_386_JUMP_SLOT 00000000 sexternal |
00081410 .*07 R_386_JUMP_SLOT 00080c27 sglobal |
/testsuite/ld-i386/tlspic.dd
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsbindesc.rd
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --32 |
#ld: -melf_i386 tmpdir/libtlslib.so |
#ld: -melf_i386 tmpdir/libtlslib.so --no-ld-generated-unwind-info |
#readelf: -Ssrl |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsnopic.sd
1,7 → 1,7
#source: tlsnopic1.s |
#source: tlsnopic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: i?86-*-* |
|
/testsuite/ld-i386/pr12921.d
0,0 → 1,21
#name: PR ld/12921 |
#as: --32 |
#ld: -melf_i386 |
#readelf: -S --wide |
|
There are 7 section headers, starting at offset 0x204c: |
|
Section Headers: |
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 00000000 000000 000000 00 0 0 0 |
\[ 1\] .text PROGBITS 08049000 001000 000001 00 AX 0 0 4096 |
\[ 2\] .data PROGBITS 0804b000 002000 000020 00 WA 0 0 4096 |
\[ 3\] .bss NOBITS 0804c000 002020 010000 00 WA 0 0 4096 |
\[ 4\] .shstrtab STRTAB 00000000 002020 00002c 00 0 0 1 |
\[ 5\] .symtab SYMTAB 00000000 002164 0000c0 10 6 6 4 |
\[ 6\] .strtab STRTAB 00000000 002224 000037 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
#pass |
/testsuite/ld-i386/tlspic.td
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: i?86-*-* |
|
/testsuite/ld-i386/tlsgdesc.rd
1,6 → 1,6
#source: tlsgdesc.s |
#as: --32 |
#ld: -shared -melf_i386 |
#ld: -shared -melf_i386 --no-ld-generated-unwind-info |
#readelf: -Ssrl |
#target: i?86-*-* |
|
/testsuite/ChangeLog
1,3 → 1,269
2011-08-22 Alan Modra <amodra@gmail.com> |
|
* ld-powerpc/tocopt4a.s, * ld-powerpc/tocopt4b.s, |
* ld-powerpc/tocopt4.d: New test. |
* ld-powerpc/powerpc.exp: Run it. |
|
2011-08-12 H.J. Lu <hongjiu.lu@intel.com> |
|
PR ld/13082 |
* ld-x86-64/pr13082-1.s: New. |
* ld-x86-64/pr13082-1a.d: Likewise. |
* ld-x86-64/pr13082-1b.d: Likewise. |
* ld-x86-64/pr13082-2.s: Likewise. |
* ld-x86-64/pr13082-2a.d: Likewise. |
* ld-x86-64/pr13082-2b.d: Likewise. |
* ld-x86-64/pr13082-3.s: Likewise. |
* ld-x86-64/pr13082-3a.d: Likewise. |
* ld-x86-64/pr13082-3b.d: Likewise. |
* ld-x86-64/pr13082-4.s: Likewise. |
* ld-x86-64/pr13082-4a.d: Likewise. |
* ld-x86-64/pr13082-4b.d: Likewise. |
* ld-x86-64/pr13082-5.s: Likewise. |
* ld-x86-64/pr13082-5a.d: Likewise. |
* ld-x86-64/pr13082-5b.d: Likewise. |
* ld-x86-64/pr13082-6.s: Likewise. |
* ld-x86-64/pr13082-6a.d: Likewise. |
* ld-x86-64/pr13082-6b.d: Likewise. |
|
* ld-x86-64/x86-64.exp: Run pr13082-[1-6][ab]. |
|
2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> |
|
* ld-arm/arm-elf.exp (armelftests): Update for new command-line |
options. |
(armeabitests): Update for new command-line options, and add |
new test cases. |
* ld-arm/fix-arm1176.s: Add test case. |
* ld-arm/fix-arm1176-off.d: Likewise. |
* ld-arm/fix-arm1176-on.d: Likewise. |
|
2011-08-05 Alan Modra <amodra@gmail.com> |
|
* ld-powerpc/tlsexe.r: Update for stripped .branch_lt. |
* ld-powerpc/tlsexetoc.r: Likewise. |
* ld-powerpc/tlsso.r: Likewise. |
* ld-powerpc/tlstocso.r: Likewise. |
|
2011-08-01 H.J. Lu <hongjiu.lu@intel.com> |
|
PR ld/13048 |
* ld-x86-64/ilp32-6.d: New. |
* ld-x86-64/ilp32-6.s: Likewise. |
* ld-x86-64/ilp32-7.d: Likewise. |
* ld-x86-64/ilp32-7.s: Likewise. |
* ld-x86-64/ilp32-8.d: Likewise. |
* ld-x86-64/ilp32-8.s: Likewise. |
* ld-x86-64/ilp32-9.d: Likewise. |
* ld-x86-64/ilp32-9.s: Likewise. |
|
* ld-x86-64/x86-64.exp: Run ilp32-6, ilp32-7, ilp32-8 and ilp32-9. |
|
2011-07-27 Roland McGrath <mcgrathr@google.com> |
|
* ld-i386/vxworks1-lib.rd: Swap order of sections expected in output. |
|
2011-07-26 Alan Modra <amodra@gmail.com> |
|
* ld-powerpc/powerpc.exp: Use --no-ld-generated-unwind-info |
with some tests. |
* ld-powerpc/relbrlt.d: Likewise. |
|
2011-07-25 Hans-Peter Nilsson <hp@bitrange.com> |
|
PR ld/12815 |
* ld-mmix/pr12815-1.d, ld-mmix/pr12815-1.s, ld-mmix/pr12815-1.ld, |
ld-mmix/pr12815-2.d, ld-mmix/pr12815-2.s: New tests. |
|
2011-07-24 Catherine Moore <clm@codesourcery.com> |
Chao-ying Fu <fu@mips.com> |
Maciej W. Rozycki <macro@codesourcery.com> |
|
* lib/ld-lib.exp (run_dump_test): Support distinct assembler |
flags for the same source named multiple times. |
* ld-mips-elf/jalx-1.s: New test source. |
* ld-mips-elf/jalx-1.d: New test output. |
* ld-mips-elf/jalx-1.ld: New test linker script. |
* ld-mips-elf/jalx-2-main.s: New test source. |
* ld-mips-elf/jalx-2-ex.s: Likewise. |
* ld-mips-elf/jalx-2-printf.s: Likewise. |
* ld-mips-elf/jalx-2.dd: New test output. |
* ld-mips-elf/jalx-2.ld: New test linker script. |
* ld-mips-elf/mips16-and-micromips.d: New test. |
* ld-mips-elf/mips-elf.exp: Run the new tests |
|
2011-07-22 H.J. Lu <hongjiu.lu@intel.com> |
|
* ld-x86-64/abs-k1om.d: New. |
* ld-x86-64/protected2-k1om.d: Likewise. |
* ld-x86-64/protected3-k1om.d: Likewise. |
|
* ld-x86-64/x86-64.exp: Run abs-k1om, protected2-k1om and |
protected3-k1om. |
|
2011-07-14 H.J. Lu <hongjiu.lu@intel.com> |
|
* ld-elf/binutils.exp (binutils_test): Also check ignored |
"-z relro". |
|
2011-07-14 Alan Modra <amodra@gmail.com> |
|
* ld-scripts/section-flags.exp: Pass --local-store 0:0 for |
spu. Rewrite using foreach. |
|
2011-07-14 Alan Modra <amodra@gmail.com> |
|
* ld-powerpc/tlsexe.d, * ld-powerpc/tlsexe.g. *ld-powerpc/tlsexe.r, |
* ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g, |
* ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.d, |
* ld-powerpc/tlstocso.d: Update for plt stub change. |
|
2011-07-11 Catherine Moore <clm@cm00re.com> |
|
* ld-scripts/section-flags-1.s: New. |
* ld-scripts/section-flags-1.t: New. |
* ld-scripts/section-flags-2.s: New. |
* ld-scripts/section-flags-2.t: New. |
* ld-scripts/section-flags.exp: New. |
|
2011-07-11 Alan Modra <amodra@gmail.com> |
|
* ld-powerpc/tocopt2.s, * ld-powerpc/tocopt2.out, |
* ld-powerpc/tocopt2.d: New test. |
* ld-powerpc/tocopt3.s, * ld-powerpc/tocopt3.d: New test. |
* ld-powerpc/powerpc.exp (ppc64elftests) Run them. |
|
2011-07-03 Samuel Thibault <samuel.thibault@gnu.org> |
Thomas Schwinge <thomas@schwinge.name> |
|
PR binutils/12913 |
* ld-ifunc/ifunc.exp: Update for changed output. |
* ld-unique/unique.exp: Likewise. |
|
2011-06-27 Nick Clifton <nickc@redhat.com> |
|
* ld-elf/elf.exp: Exlcude all v850 targets from note-3 test. |
|
2011-06-27 Alan Modra <amodra@gmail.com> |
|
* ld-elf/elf.exp: Exclude more targets from note-3 test. |
|
2011-06-24 H.J. Lu <hongjiu.lu@intel.com> |
|
PR ld/12921 |
* ld-i386/i386.exp: Run pr12921. |
* ld-x86-64/x86-64.exp: Likewise. |
|
* ld-i386/pr12921.d: New. |
* ld-i386/pr12921.s: Likewise. |
* ld-x86-64/pr12921.d: Likewise. |
* ld-x86-64/pr12921.s: Likewise. |
|
2011-06-22 Thomas Schwinge <thomas@schwinge.name> |
|
* ld-elf/elf.exp: Execute array_tests_pie tests on *-*-gnu*, too. |
|
2011-06-20 H.J. Lu <hongjiu.lu@intel.com> |
|
* ld-ifunc/ifunc-1-local-x86.d: Adjusted. |
* ld-ifunc/ifunc-1-x86.d: Likewise. |
* ld-ifunc/ifunc-3a-x86.d: Likewise. |
|
2011-06-20 H.J. Lu <hongjiu.lu@intel.com> |
|
* ld-elf/eh1.d: Revert x32 change. |
* ld-elf/eh2.d: Likewise. |
* ld-elf/eh3.d: Likewise. |
* ld-elf/eh4.d: Likewise. |
|
2011-06-20 Jakub Jelinek <jakub@redhat.com> |
|
PR ld/12570 |
* ld-x86-64/x86-64.exp: Link some testcases with |
--no-ld-generated-unwind-info. |
* ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld |
comment. |
* ld-x86-64/tlsdesc.dd: Likewise. |
* ld-x86-64/tlspic.dd: Likewise. |
* ld-x86-64/tlsdesc.sd: Likewise. |
* ld-x86-64/tlspic.rd: Likewise. |
* ld-x86-64/tlsbindesc.rd: Likewise. |
* ld-x86-64/tlsbindesc.sd: Likewise. |
* ld-x86-64/tlsbin.td: Likewise. |
* ld-x86-64/tlsdesc.pd: Likewise. |
* ld-x86-64/tlsdesc.td: Likewise. |
* ld-x86-64/tlsbindesc.dd: Likewise. |
* ld-x86-64/tlsbin.dd: Likewise. |
* ld-x86-64/tlsgdesc.rd: Likewise. |
* ld-x86-64/tlspic.sd: Likewise. |
* ld-x86-64/tlsbindesc.td: Likewise. |
* ld-x86-64/tlspic.td: Likewise. |
* ld-x86-64/tlsbin.sd: Likewise. |
* ld-x86-64/ilp32-4.d: Likewise. |
* ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld |
comment. Adjust. |
* ld-x86-64/tlsdesc.rd: Likewise. |
* ld-x86-64/tlsgd6.dd: Adjust. |
* ld-x86-64/tlsgd5.dd: Likewise. |
* ld-i386/i386.exp: Link some testcases with |
--no-ld-generated-unwind-info. |
* ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld |
comment.. |
* ld-i386/tlsdesc.dd: Likewise. |
* ld-i386/tlspic.dd: Likewise. |
* ld-i386/tlsdesc.sd: Likewise. |
* ld-i386/tlsgdesc.dd: Likewise. |
* ld-i386/tlsnopic.sd: Likewise. |
* ld-i386/tlspic.rd: Likewise. |
* ld-i386/tlsdesc.rd: Likewise. |
* ld-i386/tlsbindesc.rd: Likewise. |
* ld-i386/tlsbindesc.sd: Likewise. |
* ld-i386/tlsbin.td: Likewise. |
* ld-i386/tlsdesc.td: Likewise. |
* ld-i386/tlsnopic.dd: Likewise. |
* ld-i386/tlsbindesc.dd: Likewise. |
* ld-i386/tlsbin.dd: Likewise. |
* ld-i386/tlsgdesc.rd: Likewise. |
* ld-i386/tlspic.sd: Likewise. |
* ld-i386/tlsnopic.rd: Likewise. |
* ld-i386/tlsbindesc.td: Likewise. |
* ld-i386/tlspic.td: Likewise. |
* ld-i386/tlsbin.sd: Likewise. |
|
2011-06-19 H.J. Lu <hongjiu.lu@intel.com> |
|
* ld-elf/eh1.d: Skip x32. |
* ld-elf/eh2.d: Likewise. |
* ld-elf/eh3.d: Likewise. |
* ld-elf/eh4.d: Likewise. |
|
* ld-elfvsb/elfvsb.exp: Only xfail 64bit x86_64-*-linux*. |
* ld-shared/shared.exp: Likewise. |
|
* ld-ifunc/ifunc-1-local-x86.d: Support x32. |
* ld-ifunc/ifunc-1-x86.d: Likewise. |
* ld-ifunc/ifunc-3a-x86.d: Likewise. |
* ld-x86-64/pcrel16.d: Likewise. |
|
* ld-x86-64/x86-64.exp (x86_64tests): Add missing -melf_x86_64. |
|
2011-06-16 Alan Modra <amodra@gmail.com> |
|
* ld-elfvers/vers2.ver: Don't assume any particular index for |
version reference. |
* ld-elfvers/vers3.ver: Likewise. |
* ld-elfvers/vers19.ver: Likewise. |
* ld-elfvers/vers22.ver: Likewise. |
* ld-elfvers/vers27d4.ver: Likewise. |
* ld-elfvers/vers28c.ver: Likewise. |
|
2011-06-14 Alan Modra <amodra@gmail.com> |
|
* ld-elf/elf.exp: Don't attempt to build symbol3.a for hppa64-hpux. |
* ld-elf/warn3.d: Correct target selection and comment. |
|
* ld-elf/pr12851.d: Correct target selection and comment. |
|
2011-06-13 Walter Lee <walt@tilera.com> |
|
* ld-elf/eh5.d: Don't run on tile*. |
/testsuite/ld-unique/unique.exp
149,8 → 149,8
} |
|
# Check the object file. |
if {! [check_osabi tmpdir/unique.o {UNIX - Linux}]} { |
fail "Object containing unique does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/unique.o {UNIX - GNU}]} { |
fail "Object containing unique does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
|
164,8 → 164,8
} |
|
# Check the executable. |
if {! [check_osabi tmpdir/unique_prog {UNIX - Linux}]} { |
fail "Executable containing unique does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/unique_prog {UNIX - GNU}]} { |
fail "Executable containing unique does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
|
194,8 → 194,8
} |
|
# Check the unique PIC file. |
if {! [check_osabi tmpdir/unique_shared.o {UNIX - Linux}]} { |
fail "PIC Object containing unique does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/unique_shared.o {UNIX - GNU}]} { |
fail "PIC Object containing unique does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
|
209,8 → 209,8
} |
|
# Check the unique shared library. |
if {! [check_osabi tmpdir/libunique_shared.so {UNIX - Linux}]} { |
fail "Shared library containing unique does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/libunique_shared.so {UNIX - GNU}]} { |
fail "Shared library containing unique does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
|
/testsuite/ld-elfvers/vers3.ver
1,4 → 1,4
Version References: |
required from tmpdir/vers1.so: |
0x0a7922b0 0x00 0[23] VERS_2.0 |
0x0a7922b0 0x00 ?? VERS_2.0 |
|
/testsuite/ld-elfvers/vers28c.ver
1,4 → 1,4
Version References: |
required from tmpdir/vers28b.so: |
0x05aa7610 0x00 02 VERS.0 |
0x05aa7610 0x00 ?? VERS.0 |
|
/testsuite/ld-elfvers/vers2.ver
4,5 → 4,5
|
Version References: |
required from tmpdir/vers1.so: |
0x0a7922b0 0x00 03 VERS_2.0 |
0x0a7922b0 0x00 ?? VERS_2.0 |
|
/testsuite/ld-elfvers/vers27d4.ver
1,3 → 1,3
Version References: |
required from tmpdir/vers27a.so: |
0x05aa7610 0x00 02 VERS.0 |
0x05aa7610 0x00 ?? VERS.0 |
/testsuite/ld-elfvers/vers19.ver
1,3 → 1,3
Version References: |
required from tmpdir/vers18.so: |
0x0a7922b0 0x00 0[23] VERS_2.0 |
0x0a7922b0 0x00 ?? VERS_2.0 |
/testsuite/ld-elfvers/vers22.ver
1,4 → 1,4
Version References: |
required from tmpdir/vers22b.so: |
0x05aa7610 0x00 02 VERS.0 |
0x05aa7610 0x00 ?? VERS.0 |
|
/testsuite/ld-elf/pr12851.d
3,11 → 3,8
#ld: --gc-sections |
#readelf: -s --wide |
#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-* |
#notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-* |
#xfail: cr16-*-* crx-*-* |
#notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-* |
# generic linker targets don't support --gc-sections, nor do a bunch of others |
# cr16 and crx use non-standard scripts with memory regions, which don't play |
# well with unique group sections under ld -r. |
|
#... |
+.* _.stapsdt.base |
/testsuite/ld-elf/binutils.exp
53,7 → 53,8
|
if { ![ld_simple_link $ld tmpdir/$test "$ld_options tmpdir/$test.o"] } { |
if { [string match "*not supported*" $link_output] |
|| [string match "*unrecognized option*" $link_output] } { |
|| [string match "*unrecognized option*" $link_output] |
|| [string match "*-z relro ignored*" $link_output] } { |
unsupported "$ld_options is not supported by this target" |
} else { |
unresolved "$test_name" |
/testsuite/ld-elf/elf.exp
1,5 → 1,6
# Expect script for various ELF tests. |
# Copyright 2002, 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc. |
# Copyright 2002, 2003, 2005, 2007, 2009, 2010, 2011 |
# Free Software Foundation, Inc. |
# |
# This file is part of the GNU Binutils. |
# |
40,13 → 41,15
remote_download host merge.ld |
} |
|
run_ld_link_tests { |
{"Build symbol3.a" |
"" "" |
{symbol3.s} {} "symbol3.a"} |
{"Build symbol3w.a" |
"" "" |
{symbol3w.s} {} "symbol3w.a"} |
if { ![istarget hppa64*-hpux*] } { |
run_ld_link_tests { |
{"Build symbol3.a" |
"" "" |
{symbol3.s} {} "symbol3.a"} |
{"Build symbol3w.a" |
"" "" |
{symbol3w.s} {} "symbol3w.a"} |
} |
} |
|
# Run a test to check linking a shared library with a broken linker |
66,16 → 69,27
&& ! [istarget fr30-*-*] |
&& ! [istarget frv-*-*] |
&& ! [istarget h8300-*-*] |
&& ! [istarget i860-*-*] |
&& ! [istarget i960-*-*] |
&& ! [istarget ip2k-*-*] |
&& ! [istarget iq2000-*-*] |
&& ! [istarget lm32-*-*] |
&& ! [istarget m32c-*-*] |
&& ! [istarget m32r-*-*] |
&& ! [istarget mcore*-*-*] |
&& ! [istarget mep-*-*] |
&& ! [istarget microblaze-*-*] |
&& ! [istarget mn10200-*-*] |
&& ! [istarget moxie-*-*] |
&& ! [istarget ms1-*-*] |
&& ! [istarget msp430-*-*] |
&& ! [istarget openrisc-*-*] |
&& ! [istarget or32-*-*] |
&& ! [istarget pj-*-*] |
&& ! [istarget rx-*-*] |
&& ! [istarget v850-*-*] |
&& ! [istarget spu-*-*] |
&& ! [istarget v850*-*-*] |
&& ! [istarget xstormy16-*-*] |
&& ! [istarget *-*-irix*] |
&& ! [istarget *-*-rtems] } { |
run_ld_link_tests { |
147,8 → 161,8
set xfails [list "*-*-netbsdelf*"] |
run_ld_link_exec_tests $xfails $array_tests |
|
# Run PIE tests only on Linux. |
if { [istarget "*-*-linux*"] } { |
if { [istarget *-*-linux*] |
|| [istarget *-*-gnu*] } { |
run_ld_link_exec_tests $xfails $array_tests_pie |
} |
|
/testsuite/ld-elf/warn3.d
2,10 → 2,9
#ld: tmpdir/symbol3w.o tmpdir/symbol3.a |
#warning: .*: warning: badsym warning$ |
#readelf: -s |
#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*" |
#xfail: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-* |
#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* or32-*-* pj*-*-* |
# if not using elf32.em, you don't get fancy section handling |
#notarget: hppa64*-hpux* |
#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-* |
# generic linker targets don't support .gnu.warning sections. |
|
# Check that warnings are generated for the symbols in .gnu.warning |
# construct and that the symbol still appears as expected. |
/testsuite/lib/ld-lib.exp
552,7 → 552,6
set opts(error) {} |
set opts(warning) {} |
set opts(objcopy_linked_file) {} |
set asflags(${file}.s) {} |
|
foreach i $opt_array { |
set opt_name [lindex $i 0] |
570,13 → 569,13
warning {} |
error {} |
source { |
# Move any source-specific as-flags to a separate array to |
# Move any source-specific as-flags to a separate list to |
# simplify processing. |
if { [llength $opt_val] > 1 } { |
set asflags([lindex $opt_val 0]) [lrange $opt_val 1 end] |
lappend asflags [lrange $opt_val 1 end] |
set opt_val [lindex $opt_val 0] |
} else { |
set asflags($opt_val) {} |
lappend asflags {} |
} |
} |
default { |
669,6 → 668,7
|
if { $opts(source) == "" } { |
set sourcefiles [list ${file}.s] |
set asflags [list ""] |
} else { |
set sourcefiles {} |
foreach sf $opts(source) { |
677,8 → 677,6
} else { |
lappend sourcefiles "$srcdir/$subdir/$sf" |
} |
# Must have asflags indexed on source name. |
set asflags($srcdir/$subdir/$sf) $asflags($sf) |
} |
} |
|
691,11 → 689,12
set objfiles {} |
for { set i 0 } { $i < [llength $sourcefiles] } { incr i } { |
set sourcefile [lindex $sourcefiles $i] |
set sourceasflags [lindex $asflags $i] |
|
set objfile "tmpdir/dump$i.o" |
catch "exec rm -f $objfile" exec_output |
lappend objfiles $objfile |
set cmd "$AS $ASFLAGS $opts(as) $asflags($sourcefile) -o $objfile $sourcefile" |
set cmd "$AS $ASFLAGS $opts(as) $sourceasflags -o $objfile $sourcefile" |
|
send_log "$cmd\n" |
set cmdret [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "ld.tmp"] |
/testsuite/ld-mips-elf/jalx-2.ld
0,0 → 1,8
ENTRY (internal_function) |
_start_text_phys = 0x4400000; |
_start_text = _start_text_phys; |
|
SECTIONS |
{ |
.text _start_text : AT (ADDR (.text)) { *(.text) } |
} |
/testsuite/ld-mips-elf/jalx-1.d
0,0 → 1,16
#name: MIPS jalx-1 |
#source: jalx-1.s |
#ld: -T jalx-1.ld |
#objdump: -d |
|
.*: +file format .*mips.* |
|
Disassembly of section \.text: |
|
88000000 <test>: |
88000000: f200 0002 jalx 88000008 <test1> |
88000004: 0000 0000 nop |
|
88000008 <test1>: |
88000008: 00851821 addu v1,a0,a1 |
\.\.\. |
/testsuite/ld-mips-elf/jalx-1.s
0,0 → 1,15
.set noreorder |
.set micromips |
.ent test |
.globl test |
test: |
jalx test1 |
nop |
|
.set nomicromips |
test1: |
addu $3, $4, $5 |
.end test |
|
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... |
.space 8 |
/testsuite/ld-mips-elf/jalx-2-main.s
0,0 → 1,74
.file 1 "jalx-2-main.c" |
.section .mdebug.abi32 |
.previous |
.gnu_attribute 4, 1 |
.abicalls |
.option pic0 |
.text |
.align 2 |
.globl internal_function |
.set nomips16 |
.set micromips |
.ent internal_function |
.type internal_function, @function |
internal_function: |
.frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 |
.mask 0x40000000,-4 |
.fmask 0x00000000,0 |
.set noreorder |
.set nomacro |
|
addiu $sp,$sp,-8 |
sw $fp,4($sp) |
move $fp,$sp |
move $sp,$fp |
lw $fp,4($sp) |
jraddiusp 8 |
.set macro |
.set reorder |
.end internal_function |
.size internal_function, .-internal_function |
.rdata |
.align 2 |
$LC0: |
.ascii "hello world\012\000" |
.text |
.align 2 |
.globl main |
.set nomips16 |
.set micromips |
.ent main |
.type main, @function |
main: |
.frame $fp,32,$31 # vars= 0, regs= 2/0, args= 16, gp= 8 |
.mask 0xc0000000,-4 |
.fmask 0x00000000,0 |
.set noreorder |
.set nomacro |
|
addiu $sp,$sp,-32 |
sw $31,28($sp) |
sw $fp,24($sp) |
move $fp,$sp |
sw $4,32($fp) |
sw $5,36($fp) |
lui $2,%hi($LC0) |
addiu $4,$2,%lo($LC0) |
jal printf |
nop |
|
jal internal_function |
nop |
|
jal external_function |
nop |
|
move $sp,$fp |
lw $31,28($sp) |
lw $fp,24($sp) |
jraddiusp 32 |
.set macro |
.set reorder |
.end main |
.size main, .-main |
.ident "GCC: (Sourcery G++ Lite 4.4-999999 - Preview) 4.4.1" |
/testsuite/ld-mips-elf/jalx-2.dd
0,0 → 1,58
.*: +file format .*mips.* |
|
Disassembly of section \.text: |
|
04400000 <external_function>: |
4400000: 27bdfff8 addiu sp,sp,-8 |
4400004: afbe0004 sw s8,4\(sp\) |
4400008: 03a0f021 move s8,sp |
440000c: 03c0e821 move sp,s8 |
4400010: 8fbe0004 lw s8,4\(sp\) |
4400014: 27bd0008 addiu sp,sp,8 |
4400018: 03e00008 jr ra |
440001c: 00000000 nop |
|
04400020 <internal_function>: |
4400020: 4fb0 addiu sp,sp,-8 |
4400022: cbc1 sw s8,4\(sp\) |
4400024: 0fdd move s8,sp |
4400026: 0fbe move sp,s8 |
4400028: 4bc1 lw s8,4\(sp\) |
440002a: 4702 jraddiusp 8 |
|
0440002c <main>: |
440002c: 4ff1 addiu sp,sp,-32 |
440002e: cbe7 sw ra,28\(sp\) |
4400030: cbc6 sw s8,24\(sp\) |
4400032: 0fdd move s8,sp |
4400034: f89e 0020 sw a0,32\(s8\) |
4400038: f8be 0024 sw a1,36\(s8\) |
440003c: 41a2 0440 lui v0,0x440 |
4400040: 3082 02a0 addiu a0,v0,672 |
4400044: f110 0028 jalx 44000a0 <_PROCEDURE_LINKAGE_TABLE_\+0x20> |
4400048: 0000 0000 nop |
440004c: f620 0010 jal 4400020 <internal_function> |
4400050: 0000 0000 nop |
4400054: f110 0000 jalx 4400000 <external_function> |
4400058: 0000 0000 nop |
440005c: 0fbe move sp,s8 |
440005e: 4be7 lw ra,28\(sp\) |
4400060: 4bc6 lw s8,24\(sp\) |
4400062: 4708 jraddiusp 32 |
\.\.\. |
|
Disassembly of section \.plt: |
|
04400080 <_PROCEDURE_LINKAGE_TABLE_>: |
4400080: 3c1c0440 lui gp,0x440 |
4400084: 8f9900d8 lw t9,216\(gp\) |
4400088: 279c00d8 addiu gp,gp,216 |
440008c: 031cc023 subu t8,t8,gp |
4400090: 03e07821 move t7,ra |
4400094: 0018c082 srl t8,t8,0x2 |
4400098: 0320f809 jalr t9 |
440009c: 2718fffe addiu t8,t8,-2 |
44000a0: 3c0f0440 lui t7,0x440 |
44000a4: 8df900e0 lw t9,224\(t7\) |
44000a8: 03200008 jr t9 |
44000ac: 25f800e0 addiu t8,t7,224 |
/testsuite/ld-mips-elf/jalx-2-ex.s
0,0 → 1,34
.file 1 "jalx-2-ex.c" |
.section .mdebug.abi32 |
.previous |
.gnu_attribute 4, 1 |
.abicalls |
.option pic0 |
.text |
.align 2 |
.globl external_function |
.set nomips16 |
.set nomicromips |
.ent external_function |
.type external_function, @function |
external_function: |
.frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 |
.mask 0x40000000,-4 |
.fmask 0x00000000,0 |
.set noreorder |
.set nomacro |
|
addiu $sp,$sp,-8 |
sw $fp,4($sp) |
move $fp,$sp |
move $sp,$fp |
lw $fp,4($sp) |
addiu $sp,$sp,8 |
j $31 |
nop |
|
.set macro |
.set reorder |
.end external_function |
.size external_function, .-external_function |
.ident "GCC: (Sourcery G++ Lite 4.4-999999 - Preview) 4.4.1" |
/testsuite/ld-mips-elf/jalx-1.ld
0,0 → 1,8
ENTRY (test) |
_start_text_phys = 0x88000000; |
_start_text = _start_text_phys; |
|
SECTIONS |
{ |
.text _start_text : AT (ADDR (.text)) { *(.text) } |
} |
/testsuite/ld-mips-elf/mips16-and-micromips.d
0,0 → 1,5
#name: MIPS16 and microMIPS interlink |
#source: ../../../gas/testsuite/gas/mips/nop.s -mips16 |
#source: ../../../gas/testsuite/gas/mips/nop.s -mmicromips |
#ld: -e0 |
#error: \A.*: .*\.o: ASE mismatch: linking microMIPS module with previous MIPS16 modules[\n\r]+.*: failed to merge target specific data of file .*\.o\Z |
/testsuite/ld-mips-elf/mips-elf.exp
123,6 → 123,31
# MIPS branch offset final link checking. |
run_dump_test "branch-misc-1" |
|
# Jalx test |
run_dump_test "jalx-1" |
|
if { $linux_gnu } { |
run_ld_link_tests [list \ |
[list "Dummy shared library for JALX test 2" \ |
"-shared -nostdlib -melf32btsmip" \ |
"-G0 -EB -mmicromips -no-mdebug -mabi=32 -march=mips32r2 -KPIC" \ |
{ jalx-2-printf.s } \ |
{} \ |
"libjalx-2.so"] \ |
[list "Dummy external function for JALX test 2" \ |
"-r -melf32btsmip" \ |
"-G0 -EB -no-mdebug -mabi=32 -march=mips32r2 -mno-shared -call_nonpic" \ |
{ jalx-2-ex.s } \ |
{} \ |
"jalx-2-ex.o.r"] \ |
[list "MIPS JALX test 2" \ |
"-nostdlib -T jalx-2.ld tmpdir/libjalx-2.so tmpdir/jalx-2-ex.o.r -melf32btsmip" \ |
"-G0 -EB -mmicromips -no-mdebug -mabi=32 -march=mips32r2 -mno-shared -call_nonpic" \ |
{ jalx-2-main.s } \ |
{ { objdump -d jalx-2.dd } } \ |
"jalx-2"]] |
} |
|
# Test multi-got link. We only do this on GNU/Linux because it requires |
# the "traditional" emulations. |
if { $linux_gnu } { |
549,3 → 574,6
run_dump_test "jr-to-b-1" |
run_dump_test "jr-to-b-2" |
} |
|
# MIPS16 and microMIPS interlinking test. |
run_dump_test "mips16-and-micromips" |
/testsuite/ld-mips-elf/jalx-2-printf.s
0,0 → 1,35
.file 1 "jalx-2-printf.c" |
.section .mdebug.abi32 |
.previous |
.gnu_attribute 4, 1 |
.abicalls |
.text |
.align 2 |
.globl printf |
.set nomips16 |
.set micromips |
.ent printf |
.type printf, @function |
printf: |
.frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 |
.mask 0x40000000,-4 |
.fmask 0x00000000,0 |
.set noreorder |
.set nomacro |
|
addiu $sp,$sp,-8 |
sw $fp,4($sp) |
move $fp,$sp |
sw $5,12($fp) |
sw $6,16($fp) |
sw $7,20($fp) |
sw $4,8($fp) |
move $2,$0 |
move $sp,$fp |
lw $fp,4($sp) |
jraddiusp 8 |
.set macro |
.set reorder |
.end printf |
.size printf, .-printf |
.ident "GCC: (Sourcery G++ Lite 4.4-999999 - Preview) 4.4.1" |
/testsuite/ld-scripts/section-flags-1.s
0,0 → 1,2
.text |
.space 16 |
/testsuite/ld-scripts/section-flags-1.t
0,0 → 1,21
MEMORY |
{ |
ram (rwx) : ORIGIN = 0x100000, LENGTH = 144M |
} |
|
SECTIONS |
{ |
.text : |
{ |
INPUT_SECTION_FLAGS (!SHF_TLS) *(.text .text.* .text_* .gnu.linkonce.t.*) |
} >ram |
|
.text_vle : |
{ |
INPUT_SECTION_FLAGS (SHF_MERGE & SHF_STRINGS & SHF_LINK_ORDER) *(.text .text.* .text_* .gnu.linkonce.t.*) |
} >ram |
.text_other : |
{ |
INPUT_SECTION_FLAGS (SHF_MERGE & !SHF_STRINGS) *(.text .text.* .text_* .gnu.linkonce.t.*) |
} |
} |
/testsuite/ld-scripts/section-flags.exp
0,0 → 1,41
# Test SECTION_FLAGS in a linker script. |
# |
# This file is part of the GNU Binutils. |
# |
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
# MA 02110-1301, USA. |
|
# These tests only work for ELF targets |
if {! [is_elf_format]} { |
return |
} |
|
set ldcmd $ld |
if { [istarget spu*-*-*] } { |
set ldcmd "$ldcmd --local-store 0:0" |
} |
|
foreach test {"section-flags-1" "section-flags-2"} { |
if ![ld_assemble $as $srcdir/$subdir/$test.s tmpdir/$test.o] { |
unresolved $test |
} else { |
if ![ld_simple_link $ldcmd tmpdir/$test \ |
"-T $srcdir/$subdir/$test.t tmpdir/$test.o"] { |
fail $test |
} else { |
pass $test |
} |
} |
} |
/testsuite/ld-scripts/section-flags-2.s
0,0 → 1,2
.text |
.space 16 |
/testsuite/ld-scripts/section-flags-2.t
0,0 → 1,12
MEMORY |
{ |
ram (rwx) : ORIGIN = 0x100000, LENGTH = 144M |
} |
|
SECTIONS |
{ |
.text : |
{ |
INPUT_SECTION_FLAGS (!SHF_TLS) *(EXCLUDE_FILE (section-flags-1.o) .text .text.* .text_* .gnu.linkonce.t.*) |
} >ram |
} |
/testsuite/ld-ifunc/ifunc-3a-x86.d
4,5 → 4,5
#target: x86_64-*-* i?86-*-* |
|
#... |
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x258|)@plt> |
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x1b0|\+0x260|)@plt> |
#pass |
/testsuite/ld-ifunc/ifunc.exp
244,19 → 244,19
# Check the executables and shared libraries |
# |
# The linked ifunc using executables and the shared library containing |
# ifunc should have an OSABI field of LINUX. The linked non-ifunc using |
# ifunc should have an OSABI field of GNU. The linked non-ifunc using |
# executable should have an OSABI field of NONE (aka System V). |
|
if {! [check_osabi tmpdir/libshared_ifunc.so {UNIX - Linux}]} { |
fail "Shared libraries containing ifunc does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/libshared_ifunc.so {UNIX - GNU}]} { |
fail "Shared libraries containing ifunc does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
if {! [check_osabi tmpdir/local_prog {UNIX - Linux}]} { |
fail "Local ifunc-using executable does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/local_prog {UNIX - GNU}]} { |
fail "Local ifunc-using executable does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
if {! [check_osabi tmpdir/static_prog {UNIX - Linux}]} { |
fail "Static ifunc-using executable does not have an OS/ABI field of LINUX" |
if {! [check_osabi tmpdir/static_prog {UNIX - GNU}]} { |
fail "Static ifunc-using executable does not have an OS/ABI field of GNU" |
set fails [expr $fails + 1] |
} |
if {! [check_osabi tmpdir/dynamic_prog {UNIX - System V}]} { |
/testsuite/ld-ifunc/ifunc-1-x86.d
3,5 → 3,5
#target: x86_64-*-* i?86-*-* |
|
#... |
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x220|)@plt> |
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x190|\+0x220|)@plt> |
#pass |
/testsuite/ld-ifunc/ifunc-1-local-x86.d
3,5 → 3,5
#target: x86_64-*-* i?86-*-* |
|
#... |
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x200|)@plt> |
[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x170|\+0x200|)@plt> |
#pass |
/testsuite/ld-mmix/pr12815-2.d
0,0 → 1,7
#as: -no-predefined-syms -x |
#ld: -e 0x1000 --defsym bar=0x100000000 -m elf64mmix -T $srcdir/$subdir/pr12815-1.ld |
#error: invalid input relocation.*objcopy.*"-no-expand".*truncated |
|
# Check that we emit a meaningful error message rather than SEGV when |
# someone attempts linking to the "binary" output format with |
# expanding PUSHJ insns, expecting relaxation to work. |
/testsuite/ld-mmix/pr12815-2.s
0,0 → 1,14
# 1 "m.c" |
! mmixal:= 8H LOC Data_Section |
.text ! mmixal:= 9H LOC 8B |
.p2align 2 |
LOC @+(4-@)&3 |
.global main |
main IS @ |
GET $0,rJ |
PUSHJ $1,bar |
PUSHJ $1,bar |
PUT rJ,$0 |
POP 1,0 |
|
.data ! mmixal:= 8H LOC 9B |
/testsuite/ld-mmix/pr12815-1.ld
0,0 → 1,14
OUTPUT_FORMAT("binary") |
ENTRY(start) |
SECTIONS |
{ |
. = 0x8000000000100000; |
.text : AT(ADDR(.text) - 0x8000000000100000) |
{ |
*(.text) |
*(.data) |
*(.rodata*) |
*(COMMON*) |
*(.bss*) |
} |
} |
/testsuite/ld-mmix/pr12815-1.d
0,0 → 1,7
#as: -no-predefined-syms -x |
#ld: -e 0x1000 -m elf64mmix -T $srcdir/$subdir/pr12815-1.ld |
#error: invalid input relocation.*objcopy.*"-mno-base-addresses".*truncated |
|
# Check that we emit a meaningful error message rather than SEGV when |
# someone attempts linking to the "binary" output format with |
# -mbase-addresses in effect. |
/testsuite/ld-mmix/pr12815-1.s
0,0 → 1,26
# 1 "m.c" |
! mmixal:= 8H LOC Data_Section |
.text ! mmixal:= 9H LOC 8B |
.data ! mmixal:= 8H LOC 9B |
.p2align 2 |
LOC @+(4-@)&3 |
foo IS @ |
TETRA #2 |
.text ! mmixal:= 9H LOC 8B |
.p2align 2 |
LOC @+(4-@)&3 |
.global main |
main IS @ |
SUBU $254,$254,8 |
STOU $253,$254,0 |
ADDU $253,$254,8 |
LDT $0,foo |
ADDU $0,$0,1 |
SET $0,$0 |
STTU $0,foo |
SETL $0,0 |
LDO $253,$254,0 |
ADDU $254,$254,8 |
POP 1,0 |
|
.data ! mmixal:= 8H LOC 9B |
/testsuite/ld-x86-64/tlsbin.rd
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#readelf: -WSsrl |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-4a.d
0,0 → 1,9
#source: pr13082-4.s |
#name: PR ld/13082-4 (a) |
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +[0-9a-f]+ +func \+ 1 |
/testsuite/ld-x86-64/pr13082-6b.d
0,0 → 1,13
#source: pr13082-6.s |
#name: PR ld/13082-6 (b) |
#as: --x32 |
#ld: -pie -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+ |
|
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+ |
/testsuite/ld-x86-64/ilp32-6.d
0,0 → 1,3
#as: --x32 |
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 |
#error: .*relocation truncated to fit: R_X86_64_32S.* |
/testsuite/ld-x86-64/pr13082-3.s
0,0 → 1,10
.text |
.globl _start |
_start: |
lea .Ljmp(%rip), %rax |
jmp *(%rax) |
.section .data.rel.ro.local,"aw",@progbits |
.weak func |
.align 8 |
.Ljmp: |
.quad func |
/testsuite/ld-x86-64/ilp32-6.s
0,0 → 1,3
.globl _start |
_start: |
mov $_start,%rax |
/testsuite/ld-x86-64/tlsbin.sd
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-1b.d
0,0 → 1,9
#source: pr13082-1.s |
#name: PR ld/13082-1 (b) |
#as: --x32 |
#ld: -pie -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+ |
/testsuite/ld-x86-64/x86-64.exp
38,12 → 38,14
# readelf: Apply readelf options on result. Compare with regex (last arg). |
|
set x86_64tests { |
{"TLS -fpic -shared transitions" "-shared -melf_x86_64" |
{"TLS -fpic -shared transitions" |
"-shared -melf_x86_64 --no-ld-generated-unwind-info" |
"--64" {tlspic1.s tlspic2.s} |
{{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd} |
{objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}} |
"libtlspic.so"} |
{"TLS descriptor -fpic -shared transitions" "-shared -melf_x86_64" |
{"TLS descriptor -fpic -shared transitions" |
"-shared -melf_x86_64 --no-ld-generated-unwind-info" |
"--64" {tlsdesc.s tlspic2.s} |
{{readelf -WSsrld tlsdesc.rd} {objdump -drj.text tlsdesc.dd} |
{objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td} |
51,17 → 53,20
{"Helper shared library" "-shared -melf_x86_64" |
"--64" {tlslib.s} {} "libtlslib.so"} |
{"TLS -fpic and -fno-pic exec transitions" |
"-melf_x86_64 tmpdir/libtlslib.so" "--64" {tlsbinpic.s tlsbin.s} |
"-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info" |
"--64" {tlsbinpic.s tlsbin.s} |
{{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd} |
{objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}} |
"tlsbin"} |
{"TLS descriptor -fpic and -fno-pic exec transitions" |
"-melf_x86_64 tmpdir/libtlslib.so" "--64" {tlsbindesc.s tlsbin.s} |
"-melf_x86_64 tmpdir/libtlslib.so --no-ld-generated-unwind-info" |
"--64" {tlsbindesc.s tlsbin.s} |
{{readelf -WSsrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd} |
{objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}} |
"tlsbindesc"} |
{"TLS with global dynamic and descriptors" |
"-shared -melf_x86_64" "--64" {tlsgdesc.s} |
"-shared -melf_x86_64 --no-ld-generated-unwind-info" |
"--64" {tlsgdesc.s} |
{{readelf -WSsrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}} |
"libtlsgdesc.so"} |
{"TLS in debug sections" "-melf_x86_64" |
84,7 → 89,7
"--64" {mixed2a.s} {} "libmixe2a.o"} |
{"Helper 32bit object 2" "-r -melf_i386" |
"--32" {mixed2b.s} {} "libmixe2b.o"} |
{"Split by file with 'l' flag on section." "-split-by-file -r" |
{"Split by file with 'l' flag on section." "-split-by-file -r -melf_x86_64" |
"--64" {split-by-file1.s split-by-file2.s} |
{{readelf -SW split-by-file.rd}} "split-by-file.o"} |
{"TLS X32 IE->LE transition" "-melf32_x86_64" |
156,6 → 161,7
run_dump_test "nogot2" |
run_dump_test "discarded1" |
run_dump_test "pr12718" |
run_dump_test "pr12921" |
|
if { ![istarget "x86_64-*-linux*"] } { |
return |
197,6 → 203,10
run_dump_test "ilp32-3" |
run_dump_test "ilp32-4" |
run_dump_test "ilp32-5" |
run_dump_test "ilp32-6" |
run_dump_test "ilp32-7" |
run_dump_test "ilp32-8" |
run_dump_test "ilp32-9" |
run_dump_test "ia32-1" |
run_dump_test "ia32-2" |
run_dump_test "ia32-3" |
203,6 → 213,18
run_dump_test "lp64-1" |
run_dump_test "lp64-2" |
run_dump_test "lp64-3" |
run_dump_test "pr13082-1a" |
run_dump_test "pr13082-1b" |
run_dump_test "pr13082-2a" |
run_dump_test "pr13082-2b" |
run_dump_test "pr13082-3a" |
run_dump_test "pr13082-3b" |
run_dump_test "pr13082-4a" |
run_dump_test "pr13082-4b" |
run_dump_test "pr13082-5a" |
run_dump_test "pr13082-5b" |
run_dump_test "pr13082-6a" |
run_dump_test "pr13082-6b" |
|
# Must be native with the C compiler |
if { [isnative] && [which $CC] != 0 } { |
/testsuite/ld-x86-64/tlsbin.dd
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/tlsgd5.dd
10,5 → 10,5
|
[a-f0-9]+ <_start>: |
[ ]*[a-f0-9]+: 64 48 8b 04 25 00 00 00 00 mov %fs:0x0,%rax |
[ ]*[a-f0-9]+: 48 03 05 00 01 20 00 add 0x200100\(%rip\),%rax # 600368 <_DYNAMIC\+0x100> |
[ ]*[a-f0-9]+: 48 03 05 40 01 20 00 add 0x200140\(%rip\),%rax # 6003a8 <_DYNAMIC\+0x100> |
#pass |
/testsuite/ld-x86-64/tlsbin.td
1,7 → 1,7
#source: tlsbinpic.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-2a.d
0,0 → 1,9
#source: pr13082-2.s |
#name: PR ld/13082-2 (a) |
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +_start \+ 0 |
/testsuite/ld-x86-64/tlsdesc.pd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -drj.plt |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/protected3-k1om.d
0,0 → 1,16
#source: protected3.s |
#as: --64 -march=k1om |
#ld: -shared -melf_k1om |
#readelf: -h |
|
ELF Header: |
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |
Class: ELF64 |
Data: 2's complement, little endian |
Version: 1 \(current\) |
OS/ABI: UNIX - System V |
ABI Version: 0 |
Type: DYN \(Shared object file\) |
Machine: Intel K1OM |
Version: 0x1 |
#pass |
/testsuite/ld-x86-64/pr13082-4b.d
0,0 → 1,9
#source: pr13082-4.s |
#name: PR ld/13082-4 (b) |
#as: --x32 |
#ld: -pie -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +[0-9a-f]+ +func \+ 1 |
/testsuite/ld-x86-64/ilp32-7.d
0,0 → 1,3
#as: --x32 |
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 |
#error: .*relocation truncated to fit: R_X86_64_32S.* |
/testsuite/ld-x86-64/pr13082-4.s
0,0 → 1,10
.text |
.globl _start |
_start: |
lea .Ljmp(%rip), %rax |
jmp *(%rax) |
.section .data.rel.ro.local,"aw",@progbits |
.weak func |
.align 8 |
.Ljmp: |
.quad func + 1 |
/testsuite/ld-x86-64/tlsbindesc.rd
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#readelf: -WSsrl |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/ilp32-7.s
0,0 → 1,3
.globl _start |
_start: |
mov _start,%rax |
/testsuite/ld-x86-64/pr12921.d
0,0 → 1,21
#name: PR ld/12921 |
#as: --64 |
#ld: -melf_x86_64 |
#readelf: -S --wide |
|
There are 7 section headers, starting at offset 0x2058: |
|
Section Headers: |
\[Nr\] Name Type Address Off Size ES Flg Lk Inf Al |
\[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0 |
\[ 1\] .text PROGBITS 0000000000401000 001000 000001 00 AX 0 0 4096 |
\[ 2\] .data PROGBITS 0000000000602000 002000 000028 00 WA 0 0 4096 |
\[ 3\] .bss NOBITS 0000000000603000 002028 010000 00 WA 0 0 4096 |
\[ 4\] .shstrtab STRTAB 0000000000000000 002028 00002c 00 0 0 1 |
\[ 5\] .symtab SYMTAB 0000000000000000 002218 000120 18 6 6 8 |
\[ 6\] .strtab STRTAB 0000000000000000 002338 000037 00 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) |
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
#pass |
/testsuite/ld-x86-64/protected2-k1om.d
0,0 → 1,17
#source: protected2.s |
#as: --64 -march=k1om |
#ld: -shared -melf_k1om |
#objdump: -drw |
|
.*: +file format .* |
|
|
Disassembly of section .text: |
|
0+[a-f0-9]+ <foo>: |
[ ]*[a-f0-9]+: c3 retq |
|
0+[a-f0-9]+ <bar>: |
[ ]*[a-f0-9]+: e8 fa ff ff ff callq [a-f0-9]+ <foo> |
[ ]*[a-f0-9]+: c3 retq |
#pass |
/testsuite/ld-x86-64/pr13082-5a.d
0,0 → 1,14
#source: pr13082-5.s |
#name: PR ld/13082-5 (a) |
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +ifunc\(\)+ +ifunc \+ 0 |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +ifunc\(\)+ +ifunc \+ 0 |
|
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +ifunc\(\)+ +ifunc \+ 0 |
/testsuite/ld-x86-64/tlsgdesc.rd
1,6 → 1,6
#source: tlsgdesc.s |
#as: --64 |
#ld: -shared -melf64_x86_64 |
#ld: -shared -melf64_x86_64 --no-ld-generated-unwind-info |
#readelf: -WSsrl |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr12921.s
0,0 → 1,25
.text |
.balign 4096 |
vtext: |
.p2align 4,,15 |
.globl _start |
.type _start, @function |
_start: |
ret |
.size _start, .-_start |
.globl vdata |
.data |
.align 4096 |
.type vdata, @object |
.size vdata, 4 |
vdata: |
.long 5 |
.comm vbss,65536,4096 |
.align 16 |
.type local, @object |
.size local, 24 |
local: |
.byte 77 |
.zero 7 |
.dc.a local |
.dc.a 0 |
/testsuite/ld-x86-64/tlsbindesc.sd
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-2b.d
0,0 → 1,9
#source: pr13082-2.s |
#name: PR ld/13082-2 (b) |
#as: --x32 |
#ld: -pie -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+ |
/testsuite/ld-x86-64/tlsdesc.rd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#readelf: -WSsrld |
#target: x86_64-*-* |
|
15,7 → 15,7
+\[[ 0-9]+\] .dynstr +.* |
+\[[ 0-9]+\] .rela.dyn +.* |
+\[[ 0-9]+\] .rela.plt +.* |
+\[[ 0-9]+\] .plt +PROGBITS +0+450 0+450 0+20 10 +AX +0 +0 +4 |
+\[[ 0-9]+\] .plt +PROGBITS +0+450 0+450 0+20 10 +AX +0 +0 +(4|16) |
+\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+154 00 +AX +0 +0 4096 |
+\[[ 0-9]+\] .tdata +PROGBITS +0+201154 0+1154 0+60 00 WAT +0 +0 +1 |
+\[[ 0-9]+\] .tbss +NOBITS +0+2011b4 0+11b4 0+20 00 WAT +0 +0 +1 |
/testsuite/ld-x86-64/ilp32-4.d
1,6 → 1,6
#source: start.s |
#as: --x32 |
#ld: -m elf32_x86_64 -shared |
#ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info |
#readelf: -d -S --wide |
|
There are 10 section headers, starting at offset 0x22c: |
/testsuite/ld-x86-64/pr13082-1.s
0,0 → 1,10
.text |
.globl _start |
_start: |
lea .Ljmp(%rip), %rax |
.L1: |
jmp *(%rax) |
.section .data.rel.ro.local,"aw",@progbits |
.align 8 |
.Ljmp: |
.quad .L1 |
/testsuite/ld-x86-64/tlsbindesc.dd
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/ilp32-8.d
0,0 → 1,13
#as: --x32 |
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 |
#objdump: -dw |
|
.*: +file format elf32-x86-64 |
|
|
Disassembly of section .text: |
|
e0000054 <_start>: |
[ ]*[a-f0-9]+: 48 b8 54 00 00 e0 00 00 00 00 movabs \$0xe0000054,%rax |
[ ]*[a-f0-9]+: 48 a1 54 00 00 e0 00 00 00 00 movabs 0xe0000054,%rax |
#pass |
/testsuite/ld-x86-64/pr13082-5.s
0,0 → 1,12
.text |
.globl _start |
.globl ifunc |
.type ifunc, @gnu_indirect_function |
_start: |
lea .Ljmp(%rip), %rax |
ifunc: |
jmp *(%rax) |
.section .data.rel.ro.local,"aw",@progbits |
.align 8 |
.Ljmp: |
.quad ifunc |
/testsuite/ld-x86-64/tlsgd6.dd
10,5 → 10,5
|
[a-f0-9]+ <_start>: |
[ ]*[a-f0-9]+: 64 8b 04 25 00 00 00 00 mov %fs:0x0,%eax |
[ ]*[a-f0-9]+: 48 03 05 81 00 20 00 add 0x200081\(%rip\),%rax # 60022c <_DYNAMIC\+0x80> |
[ ]*[a-f0-9]+: 48 03 05 c5 00 20 00 add 0x2000c5\(%rip\),%rax # 600270 <_DYNAMIC\+0x80> |
#pass |
/testsuite/ld-x86-64/tlsgdesc.dd
1,6 → 1,6
#source: tlsgdesc.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: x86_64-*-* |
|
20,7 → 20,7
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 0x20025e\(%rip\),%rcx +# 200660 <.*> |
+[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 0x20025e\(%rip\),%rcx +# 200668 <.*> |
# -> R_X86_64_TPOFF64 sG3 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
31,7 → 31,7
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 0x200268\(%rip\),%rcx +# 200680 <.*> |
+[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 0x200268\(%rip\),%rcx +# 200688 <.*> |
# -> R_X86_64_TPOFF64 sG4 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
38,7 → 38,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
# GD, gd first |
+[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+data32 lea 0x20026c\(%rip\),%rdi +# 200690 <.*> |
+[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+data32 lea 0x20026c\(%rip\),%rdi +# 200698 <.*> |
+[0-9a-f]+: 00 * |
# -> R_X86_64_DTPMOD64 sG1 |
+[0-9a-f]+: 66 66 48 e8 9c ff ff[ ]+data32 data32 callq [0-9a-f]+ <.*> |
48,7 → 48,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 0x2002a1\(%rip\),%rax +# 2006d8 <.*> |
+[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 0x2002a1\(%rip\),%rax +# 2006e0 <.*> |
# -> R_X86_64_TLSDESC sG1 |
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) |
+[0-9a-f]+: 90[ ]+nop * |
56,7 → 56,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
# GD, desc first |
+[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 0x200284\(%rip\),%rax +# 2006c8 <.*> |
+[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 0x200284\(%rip\),%rax +# 2006d0 <.*> |
# -> R_X86_64_TLSDESC sG2 |
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) |
+[0-9a-f]+: 90[ ]+nop * |
63,7 → 63,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+data32 lea 0x20021e\(%rip\),%rdi +# 200670 <.*> |
+[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+data32 lea 0x20021e\(%rip\),%rdi +# 200678 <.*> |
+[0-9a-f]+: 00 * |
# -> R_X86_64_DTPMOD64 sG2 |
+[0-9a-f]+: 66 66 48 e8 6e ff ff[ ]+data32 data32 callq [0-9a-f]+ <.*> |
76,13 → 76,13
# GD -> IE, gd first, after IE use |
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 0x2001f2\(%rip\),%rax +# 200660 <.*> |
+[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 0x2001f2\(%rip\),%rax +# 200668 <.*> |
# -> R_X86_64_TPOFF64 sG3 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 0x2001e7\(%rip\),%rax +# 200660 <.*> |
+[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 0x2001e7\(%rip\),%rax +# 200668 <.*> |
# -> R_X86_64_TPOFF64 sG3 |
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
+[0-9a-f]+: 90[ ]+nop * |
90,7 → 90,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
# GD -> IE, desc first, after IE use |
+[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 0x2001fa\(%rip\),%rax +# 200680 <.*> |
+[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 0x2001fa\(%rip\),%rax +# 200688 <.*> |
# -> R_X86_64_TPOFF64 sG4 |
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
+[0-9a-f]+: 90[ ]+nop * |
99,7 → 99,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 0x2001e4\(%rip\),%rax +# 200680 <.*> |
+[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 0x2001e4\(%rip\),%rax +# 200688 <.*> |
# -> R_X86_64_TPOFF64 sG4 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
108,13 → 108,13
# GD -> IE, gd first, before IE use |
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 0x2001b8\(%rip\),%rax +# 200668 <.*> |
+[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 0x2001b8\(%rip\),%rax +# 200670 <.*> |
# -> R_X86_64_TPOFF64 sG5 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 0x2001ad\(%rip\),%rax +# 200668 <.*> |
+[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 0x2001ad\(%rip\),%rax +# 200670 <.*> |
# -> R_X86_64_TPOFF64 sG5 |
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
+[0-9a-f]+: 90[ ]+nop * |
122,7 → 122,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
# GD -> IE, desc first, before IE use |
+[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 0x2001c0\(%rip\),%rax +# 200688 <.*> |
+[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 0x2001c0\(%rip\),%rax +# 200690 <.*> |
# -> R_X86_64_TPOFF64 sG6 |
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax |
+[0-9a-f]+: 90[ ]+nop * |
131,7 → 131,7
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax |
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 0x2001aa\(%rip\),%rax +# 200688 <.*> |
+[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 0x2001aa\(%rip\),%rax +# 200690 <.*> |
# -> R_X86_64_TPOFF64 sG6 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
142,7 → 142,7
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 0x200174\(%rip\),%rcx +# 200668 <.*> |
+[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 0x200174\(%rip\),%rcx +# 200670 <.*> |
# -> R_X86_64_TPOFF64 sG5 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
153,7 → 153,7
+[0-9a-f]+: 00 00 * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 0x20017e\(%rip\),%rcx +# 200688 <.*> |
+[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 0x20017e\(%rip\),%rcx +# 200690 <.*> |
# -> R_X86_64_TPOFF64 sG6 |
+[0-9a-f]+: 90[ ]+nop * |
+[0-9a-f]+: 90[ ]+nop * |
/testsuite/ld-x86-64/ilp32-8.s
0,0 → 1,5
.text |
.globl _start |
_start: |
movabs $_start,%rax |
movabs _start,%rax |
/testsuite/ld-x86-64/tlsbindesc.td
1,7 → 1,7
#source: tlsbindesc.s |
#source: tlsbin.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-3a.d
0,0 → 1,9
#source: pr13082-3.s |
#name: PR ld/13082-3 (a) |
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +func \+ 0 |
/testsuite/ld-x86-64/tlspic.rd
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#readelf: -WSsrl |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-5b.d
0,0 → 1,13
#source: pr13082-5.s |
#name: PR ld/13082-5 (b) |
#as: --x32 |
#ld: -pie -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+ |
|
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+ |
/testsuite/ld-x86-64/tlsdesc.sd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -s -j.got -j.got.plt |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/tlsdesc.dd
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/tlspic.sd
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.got |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-6a.d
0,0 → 1,13
#source: pr13082-6.s |
#name: PR ld/13082-6 (a) |
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+ |
|
Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+ |
/testsuite/ld-x86-64/tlsdesc.td
1,7 → 1,7
#source: tlsdesc.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/pr13082-2.s
0,0 → 1,9
.text |
.globl _start |
_start: |
lea .Ljmp(%rip), %rax |
jmp *(%rax) |
.section .data.rel.ro.local,"aw",@progbits |
.align 8 |
.Ljmp: |
.quad _start |
/testsuite/ld-x86-64/ilp32-9.d
0,0 → 1,9
#as: --x32 |
#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 |
#objdump: -s -j .text |
|
.*: +file format .* |
|
Contents of section .text: |
e0000054 540000e0 00000000 T....... |
#pass |
/testsuite/ld-x86-64/pr13082-6.s
0,0 → 1,11
.text |
.globl _start |
.type ifunc, @gnu_indirect_function |
_start: |
lea .Ljmp(%rip), %rax |
ifunc: |
jmp *(%rax) |
.section .data.rel.ro.local,"aw",@progbits |
.align 8 |
.Ljmp: |
.quad ifunc |
/testsuite/ld-x86-64/tlspic.dd
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -drj.text |
#target: x86_64-*-* |
|
/testsuite/ld-x86-64/abs-k1om.d
0,0 → 1,11
#name: Absolute non-overflowing relocs |
#source: ../ld-i386/abs.s |
#source: ../ld-i386/zero.s |
#as: --64 -march=k1om |
#ld: -m elf_k1om |
#objdump: -rs -j .text |
|
.*: file format .* |
|
Contents of section \.text: |
[ ][0-9a-f]+ c800fff0 c8000110 c9c3.* |
/testsuite/ld-x86-64/pcrel16.d
3,7 → 3,7
#ld: -Ttext 0x0 |
#objdump: -drj.text -m i8086 |
|
.*: +file format elf64-x86-64 |
.*: +file format elf.*-x86-64 |
|
Disassembly of section .text: |
|
/testsuite/ld-x86-64/pr13082-1a.d
0,0 → 1,9
#source: pr13082-1.s |
#name: PR ld/13082-1 (a) |
#as: --x32 |
#ld: -shared -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+ |
/testsuite/ld-x86-64/ilp32-9.s
0,0 → 1,4
.text |
.globl _start |
_start: |
.quad _start |
/testsuite/ld-x86-64/pr13082-3b.d
0,0 → 1,9
#source: pr13082-3.s |
#name: PR ld/13082-3 (b) |
#as: --x32 |
#ld: -pie -melf32_x86_64 |
#readelf: -r --wide |
|
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: |
Offset Info Type Sym. Value Symbol's Name \+ Addend |
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +func \+ 0 |
/testsuite/ld-x86-64/tlspic.td
1,7 → 1,7
#source: tlspic1.s |
#source: tlspic2.s |
#as: --64 |
#ld: -shared -melf_x86_64 |
#ld: -shared -melf_x86_64 --no-ld-generated-unwind-info |
#objdump: -sj.tdata |
#target: x86_64-*-* |
|
/testsuite/ld-elfvsb/elfvsb.exp
302,7 → 302,9
setup_xfail "sparc*-*-linux*" |
} |
} |
setup_xfail "x86_64-*-linux*" |
if { [is_elf64 $tmpdir/mainnp.o] } { |
setup_xfail "x86_64-*-linux*" |
} |
if { ![istarget hppa*64*-*-linux*] } { |
setup_xfail "hppa*-*-linux*" |
} |
343,7 → 345,9
setup_xfail "alpha*-*-linux*" |
setup_xfail "mips*-*-linux*" |
} |
setup_xfail "x86_64-*-linux*" |
if { [is_elf64 $tmpdir/mainnp.o] } { |
setup_xfail "x86_64-*-linux*" |
} |
if { ![istarget hppa*64*-*-linux*] } { |
setup_xfail "hppa*-*-linux*" |
} |
415,7 → 419,9
setup_xfail "sparc*-*-linux*" |
} |
} |
setup_xfail "x86_64-*-linux*" |
if { [is_elf64 $tmpdir/mainp.o] } { |
setup_xfail "x86_64-*-linux*" |
} |
if { ![istarget hppa*64*-*-linux*] } { |
setup_xfail "hppa*-*-linux*" |
} |
/ldlang.c
237,6 → 237,9
{ |
struct name_list *list_tmp; |
|
/* Propagate the section_flag_info from the wild statement to the section. */ |
s->section_flag_info = ptr->section_flag_list; |
|
/* Don't process sections from files which were excluded. */ |
for (list_tmp = sec->spec.exclude_name_list; |
list_tmp; |
2256,8 → 2259,11
lang_output_section_statement_type *output) |
{ |
flagword flags = section->flags; |
struct flag_info *sflag_info = section->section_flag_info; |
|
bfd_boolean discard; |
lang_input_section_type *new_section; |
bfd *abfd = link_info.output_bfd; |
|
/* Discard sections marked with SEC_EXCLUDE. */ |
discard = (flags & SEC_EXCLUDE) != 0; |
2283,6 → 2289,28
return; |
} |
|
if (sflag_info) |
{ |
if (sflag_info->flags_initialized == FALSE) |
bfd_lookup_section_flags (&link_info, sflag_info); |
|
if (sflag_info->only_with_flags != 0 |
&& sflag_info->not_with_flags != 0 |
&& ((sflag_info->not_with_flags & flags) != 0 |
|| (sflag_info->only_with_flags & flags) |
!= sflag_info->only_with_flags)) |
return; |
|
if (sflag_info->only_with_flags != 0 |
&& (sflag_info->only_with_flags & flags) |
!= sflag_info->only_with_flags) |
return; |
|
if (sflag_info->not_with_flags != 0 |
&& (sflag_info->not_with_flags & flags) != 0) |
return; |
} |
|
if (section->output_section != NULL) |
return; |
|
3019,7 → 3047,7
|
/* No - has the current target been set to something other than |
the default? */ |
if (current_target != default_target) |
if (current_target != default_target && current_target != NULL) |
return current_target; |
|
/* No - can we determine the format of the first input file? */ |
6544,6 → 6572,7
einfo (_("%P%F: %s: plugin reported error after all symbols read\n"), |
plugin_error_plugin ()); |
/* Open any newly added files, updating the file chains. */ |
link_info.loading_lto_outputs = TRUE; |
open_input_bfds (added.head, OPEN_BFD_NORMAL); |
/* Restore the global list pointer now they have all been added. */ |
lang_list_remove_tail (stat_ptr, &added); |
6713,10 → 6742,12
new_stmt = new_stat (lang_wild_statement, stat_ptr); |
new_stmt->filename = NULL; |
new_stmt->filenames_sorted = FALSE; |
new_stmt->section_flag_list = NULL; |
if (filespec != NULL) |
{ |
new_stmt->filename = filespec->name; |
new_stmt->filenames_sorted = filespec->sorted == by_name; |
new_stmt->section_flag_list = filespec->section_flag_list; |
} |
new_stmt->section_list = section_list; |
new_stmt->keep_sections = keep_sections; |
/ldmain.c
105,7 → 105,7
/* True means create DT_NEEDED entries for dynamic libraries that |
are DT_NEEDED by dynamic libraries specifically mentioned on |
the command line. */ |
bfd_boolean add_DT_NEEDED_for_dynamic = TRUE; |
bfd_boolean add_DT_NEEDED_for_dynamic; |
|
/* TRUE if we should demangle symbol names. */ |
bfd_boolean demangling; |
427,11 → 427,14
info_msg ("\n==================================================\n"); |
} |
|
if (command_line.print_output_format) |
info_msg ("%s\n", lang_get_output_target ()); |
|
lang_final (); |
|
if (!lang_has_input_file) |
{ |
if (version_printed) |
if (version_printed || command_line.print_output_format) |
xexit (0); |
einfo (_("%P%F: no input files\n")); |
} |
488,7 → 491,7
einfo (_("%P: link errors found, deleting executable `%s'\n"), |
output_filename); |
|
/* The file will be removed by remove_output. */ |
/* The file will be removed by ld_cleanup. */ |
xexit (1); |
} |
else |
561,7 → 564,7
fflush (stderr); |
} |
|
/* Prevent remove_output from doing anything, after a successful link. */ |
/* Prevent ld_cleanup from doing anything, after a successful link. */ |
output_filename = NULL; |
|
xexit (0); |
/ldlang.h
240,6 → 240,8
|
bfd *the_bfd; |
|
struct flag_info *section_flag_list; |
|
/* Point to the next file - whatever it is, wanders up and down |
archives */ |
union lang_statement_union *next; |
337,6 → 339,7
walk_wild_section_handler_t walk_wild_section_handler; |
struct wildcard_list *handler_data[4]; |
lang_section_bst_type *tree; |
struct flag_info *section_flag_list; |
}; |
|
typedef struct lang_address_statement_struct |
/ldlex.l
313,6 → 313,7
<BOTH,SCRIPT>"org" { RTOKEN(ORIGIN);} |
<BOTH,SCRIPT>"l" { RTOKEN( LENGTH);} |
<BOTH,SCRIPT>"len" { RTOKEN( LENGTH);} |
<EXPRESSION,BOTH,SCRIPT>"INPUT_SECTION_FLAGS" { RTOKEN(INPUT_SECTION_FLAGS); } |
<EXPRESSION,BOTH,SCRIPT>"INCLUDE" { RTOKEN(INCLUDE);} |
<BOTH,SCRIPT>"PHDRS" { RTOKEN (PHDRS); } |
<EXPRESSION,BOTH,SCRIPT>"AT" { RTOKEN(AT);} |
/scripttempl/pe.sc
292,6 → 292,11
*(.debug_varnames) |
} |
|
.debug_macro ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} : |
{ |
*(.debug_macro) |
} |
|
/* DWARF 3. */ |
.debug_ranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} : |
{ |
/scripttempl/pep.sc
298,6 → 298,11
*(.debug_varnames) |
} |
|
.debug_macro ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} : |
{ |
*(.debug_macro) |
} |
|
/* DWARF 3. */ |
.debug_ranges ${RELOCATING+BLOCK(__section_alignment__)} ${RELOCATING+(NOLOAD)} : |
{ |
/emulparams/elf_k1om.sh
0,0 → 1,35
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf |
ELFSIZE=64 |
OUTPUT_FORMAT="elf64-k1om" |
NO_REL_RELOCS=yes |
TEXT_START_ADDR=0x400000 |
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" |
ARCH="k1om" |
MACHINE= |
COMPILE_IN=yes |
NOP=0x90909090 |
TEMPLATE_NAME=elf32 |
GENERATE_SHLIB_SCRIPT=yes |
GENERATE_PIE_SCRIPT=yes |
NO_SMALL_DATA=yes |
LARGE_SECTIONS=yes |
SEPARATE_GOTPLT=24 |
|
if [ "x${host}" = "x${target}" ]; then |
case " $EMULATION_LIBPATH " in |
*" ${EMULATION_NAME} "*) |
NATIVE=yes |
esac |
fi |
|
# Linux modifies the default library search path to first include |
# a 64-bit specific directory. |
case "$target" in |
*k1om*-linux*) |
case "$EMULATION_NAME" in |
*k1om*) LIBPATH_SUFFIX=64 ;; |
esac |
;; |
esac |
/emulparams/plt_unwind.sh
0,0 → 1,28
PARSE_AND_LIST_PROLOGUE=' |
#define OPTION_LD_GENERATED_UNWIND_INFO 301 |
#define OPTION_NO_LD_GENERATED_UNWIND_INFO 302 |
' |
|
PARSE_AND_LIST_LONGOPTS=' |
{"ld-generated-unwind-info", no_argument, NULL, |
OPTION_LD_GENERATED_UNWIND_INFO}, |
{"no-ld-generated-unwind-info", no_argument, NULL, |
OPTION_NO_LD_GENERATED_UNWIND_INFO}, |
' |
|
PARSE_AND_LIST_OPTIONS=' |
fprintf (file, _("\ |
--ld-generated-unwind-info Generate exception handling info for PLT.\n\ |
--no-ld-generated-unwind-info Don'\''t do so.\n" |
)); |
' |
|
PARSE_AND_LIST_ARGS_CASES=' |
case OPTION_LD_GENERATED_UNWIND_INFO: |
link_info.no_ld_generated_unwind_info = FALSE; |
break; |
|
case OPTION_NO_LD_GENERATED_UNWIND_INFO: |
link_info.no_ld_generated_unwind_info = TRUE; |
break; |
' |
/emulparams/elf_i386_chaos.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf_chaos |
OUTPUT_FORMAT="elf32-i386" |
TEXT_START_ADDR=0x40000000 |
/emulparams/elf32_x86_64.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf |
ELFSIZE=32 |
OUTPUT_FORMAT="elf32-x86-64" |
/emulparams/elf_k1om_fbsd.sh
0,0 → 1,3
. ${srcdir}/emulparams/elf_k1om.sh |
. ${srcdir}/emulparams/elf_fbsd.sh |
OUTPUT_FORMAT="elf64-k1om-freebsd" |
/emulparams/elf32ppc.sh
3,6 → 3,7
# elf32ppcsim.sh |
|
. ${srcdir}/emulparams/elf32ppccommon.sh |
. ${srcdir}/emulparams/plt_unwind.sh |
# Yes, we want duplicate .got and .plt sections. The linker chooses the |
# appropriate one magically in ppc_after_open |
DATA_GOT= |
/emulparams/elf_l1om.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf |
ELFSIZE=64 |
OUTPUT_FORMAT="elf64-l1om" |
/emulparams/elf64ppc.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
TEMPLATE_NAME=elf32 |
EXTRA_EM_FILE=ppc64elf |
ELFSIZE=64 |
/emulparams/elf_i386_ldso.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf |
OUTPUT_FORMAT="elf32-i386" |
NO_RELA_RELOCS=yes |
/emulparams/elf_i386.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf |
OUTPUT_FORMAT="elf32-i386" |
NO_RELA_RELOCS=yes |
/emulparams/elf_x86_64.sh
1,3 → 1,4
. ${srcdir}/emulparams/plt_unwind.sh |
SCRIPT_NAME=elf |
ELFSIZE=64 |
OUTPUT_FORMAT="elf64-x86-64" |
/ldgram.y
72,6 → 72,8
struct wildcard_spec wildcard; |
struct wildcard_list *wildcard_list; |
struct name_list *name_list; |
struct flag_info_list *flag_info_list; |
struct flag_info *flag_info; |
int token; |
union etree_union *etree; |
struct phdr_info |
93,6 → 95,8
%type <fill> fill_opt fill_exp |
%type <name_list> exclude_name_list |
%type <wildcard_list> file_NAME_list |
%type <flag_info_list> sect_flag_list |
%type <flag_info> sect_flags |
%type <name> memspec_opt casesymlist |
%type <name> memspec_at_opt |
%type <cname> wildcard_name |
150,7 → 154,7
%token INPUT_SCRIPT INPUT_MRI_SCRIPT INPUT_DEFSYM CASE EXTERN START |
%token <name> VERS_TAG VERS_IDENTIFIER |
%token GLOBAL LOCAL VERSIONK INPUT_VERSION_SCRIPT |
%token KEEP ONLY_IF_RO ONLY_IF_RW SPECIAL |
%token KEEP ONLY_IF_RO ONLY_IF_RW SPECIAL INPUT_SECTION_FLAGS |
%token EXCLUDE_FILE |
%token CONSTANT |
%type <versyms> vers_defns |
437,6 → 441,7
$$.name = $1; |
$$.sorted = none; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name |
{ |
443,6 → 448,7
$$.name = $5; |
$$.sorted = none; |
$$.exclude_name_list = $3; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_NAME '(' wildcard_name ')' |
{ |
449,6 → 455,7
$$.name = $3; |
$$.sorted = by_name; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_ALIGNMENT '(' wildcard_name ')' |
{ |
455,6 → 462,7
$$.name = $3; |
$$.sorted = by_alignment; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_name ')' ')' |
{ |
461,6 → 469,7
$$.name = $5; |
$$.sorted = by_name_alignment; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_name ')' ')' |
{ |
467,6 → 476,7
$$.name = $5; |
$$.sorted = by_name; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_name ')' ')' |
{ |
473,6 → 483,7
$$.name = $5; |
$$.sorted = by_alignment_name; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_name ')' ')' |
{ |
479,6 → 490,7
$$.name = $5; |
$$.sorted = by_alignment; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_NAME '(' EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name ')' |
{ |
485,6 → 497,7
$$.name = $7; |
$$.sorted = by_name; |
$$.exclude_name_list = $5; |
$$.section_flag_list = NULL; |
} |
| SORT_BY_INIT_PRIORITY '(' wildcard_name ')' |
{ |
491,9 → 504,61
$$.name = $3; |
$$.sorted = by_init_priority; |
$$.exclude_name_list = NULL; |
$$.section_flag_list = NULL; |
} |
; |
|
sect_flag_list: NAME |
{ |
struct flag_info_list *n; |
n = ((struct flag_info_list *) xmalloc (sizeof *n)); |
if ($1[0] == '!') |
{ |
n->with = without_flags; |
n->name = &$1[1]; |
} |
else |
{ |
n->with = with_flags; |
n->name = $1; |
} |
n->valid = FALSE; |
n->next = NULL; |
$$ = n; |
} |
| sect_flag_list '&' NAME |
{ |
struct flag_info_list *n; |
n = ((struct flag_info_list *) xmalloc (sizeof *n)); |
if ($3[0] == '!') |
{ |
n->with = without_flags; |
n->name = &$3[1]; |
} |
else |
{ |
n->with = with_flags; |
n->name = $3; |
} |
n->valid = FALSE; |
n->next = $1; |
$$ = n; |
} |
; |
|
sect_flags: |
INPUT_SECTION_FLAGS '(' sect_flag_list ')' |
{ |
struct flag_info *n; |
n = ((struct flag_info *) xmalloc (sizeof *n)); |
n->flag_list = $3; |
n->flags_initialized = FALSE; |
n->not_with_flags = 0; |
n->only_with_flags = 0; |
$$ = n; |
} |
; |
|
exclude_name_list: |
exclude_name_list wildcard_name |
{ |
541,16 → 606,40
tmp.name = $1; |
tmp.exclude_name_list = NULL; |
tmp.sorted = none; |
tmp.section_flag_list = NULL; |
lang_add_wild (&tmp, NULL, ldgram_had_keep); |
} |
| sect_flags NAME |
{ |
struct wildcard_spec tmp; |
tmp.name = $2; |
tmp.exclude_name_list = NULL; |
tmp.sorted = none; |
tmp.section_flag_list = $1; |
lang_add_wild (&tmp, NULL, ldgram_had_keep); |
} |
| '[' file_NAME_list ']' |
{ |
lang_add_wild (NULL, $2, ldgram_had_keep); |
} |
| sect_flags '[' file_NAME_list ']' |
{ |
struct wildcard_spec tmp; |
tmp.name = NULL; |
tmp.exclude_name_list = NULL; |
tmp.sorted = none; |
tmp.section_flag_list = $1; |
lang_add_wild (NULL, $3, ldgram_had_keep); |
} |
| wildcard_spec '(' file_NAME_list ')' |
{ |
lang_add_wild (&$1, $3, ldgram_had_keep); |
} |
| sect_flags wildcard_spec '(' file_NAME_list ')' |
{ |
$2.section_flag_list = $1; |
lang_add_wild (&$2, $4, ldgram_had_keep); |
} |
; |
|
input_section_spec: |
/po/es.po
1,7 → 1,7
|
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
# Mensajes en español para ld 2.20.90. |
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
# This file is distributed under the same license as the binutils package. |
|
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011. |
# |
msgid "" |
msgstr "" |
8,22 → 8,23
"Project-Id-Version: ld 2.20.90\n" |
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" |
"POT-Creation-Date: 2010-11-05 11:34+0100\n" |
"PO-Revision-Date: 2010-11-18 12:31-0600\n" |
|
"PO-Revision-Date: 2011-08-24 11:51-0600\n" |
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n" |
"Language-Team: Spanish <es@li.org>\n" |
"Language: es\n" |
"MIME-Version: 1.0\n" |
"Content-Type: text/plain; charset=ISO-8859-1\n" |
"Content-Type: text/plain; charset=UTF-8\n" |
"Content-Transfer-Encoding: 8bit\n" |
|
#: emultempl/armcoff.em:73 |
#, c-format |
msgid " --support-old-code Support interworking with old code\n" |
|
msgstr " --support-old-code Admite interoperar con código antiguo\n" |
|
#: emultempl/armcoff.em:74 |
#, c-format |
msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n" |
|
msgstr " --thumb-entry=<sim> Establece el punto de entrada para el símbolo Thumb <sim>\n" |
|
#: emultempl/armcoff.em:122 |
#, c-format |
36,7 → 37,7
|
#: emultempl/armcoff.em:195 emultempl/pe.em:1817 |
msgid "%P: warning: cannot find thumb start symbol %s\n" |
|
msgstr "%P: aviso: no se puede encontrar el símbolo de inicio thumb %s\n" |
|
#: emultempl/pe.em:418 |
#, c-format |
43,9 → 44,9
msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n" |
msgstr " --base_file <ficherobase> Genera un fichero base para DLLs reubicables\n" |
|
|
|
|
# DLL son las siglas en inglés de `Biblioteca de Enlace Dinámico'. |
# El problema es que las siglas en español (BED) no están muy extendidas. |
# Se dejó `DLL' sin traducir en todas las ocasiones. cfuga |
#: emultempl/pe.em:419 |
#, c-format |
msgid " --dll Set image base to the default for DLLs\n" |
54,82 → 55,82
#: emultempl/pe.em:420 |
#, c-format |
msgid " --file-alignment <size> Set file alignment\n" |
|
msgstr " --file-alignment <tamaño> Establece el fichero de alineación\n" |
|
#: emultempl/pe.em:421 |
#, c-format |
msgid " --heap <size> Set initial size of the heap\n" |
|
msgstr " --heap <tamaño> Establece el tamaño inicial del montón\n" |
|
#: emultempl/pe.em:422 |
#, c-format |
msgid " --image-base <address> Set start address of the executable\n" |
|
msgstr " --image-base <dirección> Establece la dirección de inicio del ejecutable\n" |
|
#: emultempl/pe.em:423 |
#, c-format |
msgid " --major-image-version <number> Set version number of the executable\n" |
|
msgstr " --major-image-version <número> Establece el número de versión del ejecutable\n" |
|
#: emultempl/pe.em:424 |
#, c-format |
msgid " --major-os-version <number> Set minimum required OS version\n" |
|
msgstr " --major-os-version <número> Establece la versión mínima requerida del SO\n" |
|
#: emultempl/pe.em:425 |
#, c-format |
msgid " --major-subsystem-version <number> Set minimum required OS subsystem version\n" |
|
msgstr " --major-subsystem-version <número> Establece la versión mínima requerida del subsistema del SO\n" |
|
#: emultempl/pe.em:426 |
#, c-format |
msgid " --minor-image-version <number> Set revision number of the executable\n" |
|
msgstr " --minor-image-version <número> Establece el número de revisión del ejecutable\n" |
|
#: emultempl/pe.em:427 |
#, c-format |
msgid " --minor-os-version <number> Set minimum required OS revision\n" |
|
msgstr " --minor-os-version <número> Establece la revisión mínima requerida del SO\n" |
|
#: emultempl/pe.em:428 |
#, c-format |
msgid " --minor-subsystem-version <number> Set minimum required OS subsystem revision\n" |
|
msgstr " --minor-subsystem-version <número> Establece la revisión mínima requerida del subsistema del SO\n" |
|
#: emultempl/pe.em:429 |
#, c-format |
msgid " --section-alignment <size> Set section alignment\n" |
|
msgstr " --section-alignment <tamaño> Establece la alineación de la sección\n" |
|
#: emultempl/pe.em:430 |
#, c-format |
msgid " --stack <size> Set size of the initial stack\n" |
|
msgstr " --stack <size> Establece el tamaño de la pila inicial\n" |
|
#: emultempl/pe.em:431 |
#, c-format |
msgid " --subsystem <name>[:<version>] Set required OS subsystem [& version]\n" |
|
msgstr " --subsystem <nombre>[:<versión>] Establece el subsistema [y versión] requeridos del SO\n" |
|
#: emultempl/pe.em:432 |
#, c-format |
msgid " --support-old-code Support interworking with old code\n" |
|
msgstr " --support-old-code Admite interoperar con código antiguo\n" |
|
#: emultempl/pe.em:433 |
#, c-format |
msgid " --[no-]leading-underscore Set explicit symbol underscore prefix mode\n" |
|
msgstr " --[no-]leading-underscore Establece el modo explícito de prefijo de símbolo con subrayado\n" |
|
#: emultempl/pe.em:434 |
#, c-format |
msgid " --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n" |
|
msgstr " --thumb-entry=<símbolo> Establece el punto de entrada para el símbolo Thumb <símbolo>\n" |
|
#: emultempl/pe.em:436 |
#, c-format |
msgid " --add-stdcall-alias Export symbols with and without @nn\n" |
|
msgstr " --add-stdcall-alias Exporta símbolos con y sin @nn\n" |
|
#: emultempl/pe.em:437 |
#, c-format |
144,17 → 145,17
#: emultempl/pe.em:439 |
#, c-format |
msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n" |
|
msgstr " --exclude-symbols sim,sim,... Excluye símbolos de la exportación automática\n" |
|
#: emultempl/pe.em:440 |
#, c-format |
msgid " --exclude-all-symbols Exclude all symbols from automatic export\n" |
|
msgstr " --exclude-all-symbols Excluye todos los símbolos de la exportación automática\n" |
|
#: emultempl/pe.em:441 |
#, c-format |
msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n" |
|
msgstr " --exclude-libs bib,bib,... Excluye bibliotecas de la exportación automática\n" |
|
#: emultempl/pe.em:442 |
#, c-format |
164,27 → 165,27
#: emultempl/pe.em:443 |
#, c-format |
msgid " Exclude objects, archive members from auto\n" |
|
msgstr " Excluye objetos, miembros de archivo de la exportación\n" |
|
#: emultempl/pe.em:444 |
#, c-format |
msgid " export, place into import library instead.\n" |
|
msgstr " automática, los coloca en la biblioteca de importación.\n" |
|
#: emultempl/pe.em:445 |
#, c-format |
msgid " --export-all-symbols Automatically export all globals to DLL\n" |
|
msgstr " --export-all-symbols Exporta automáticamente todos los globales a la DLL\n" |
|
#: emultempl/pe.em:446 |
#, c-format |
msgid " --kill-at Remove @nn from exported symbols\n" |
|
msgstr " --kill-at Elimina @nn de los símbolos exportados\n" |
|
#: emultempl/pe.em:447 |
#, c-format |
msgid " --out-implib <file> Generate import library\n" |
|
msgstr " --out-implib <fichero> Genera una biblioteca de importación\n" |
|
#: emultempl/pe.em:448 |
#, c-format |
202,8 → 203,8
" --compat-implib Create backward compatible import libs;\n" |
" create __imp_<SYMBOL> as well.\n" |
msgstr "" |
|
|
" --compat-implib Crea bibliotecas de importación compatibles hacia atrás;\n" |
" crea además __imp_<SÍMBOLO>.\n" |
|
#: emultempl/pe.em:452 |
#, c-format |
211,13 → 212,13
" --enable-auto-image-base Automatically choose image base for DLLs\n" |
" unless user specifies one\n" |
msgstr "" |
|
" --enable-auto-image-base Escoge automáticamente la imagen base para las DLLs\n" |
" a menos que el usuario especifique una\n" |
|
#: emultempl/pe.em:454 |
#, c-format |
msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n" |
|
msgstr " --disable-auto-image-base No escoge automáticamente una imagen base. (por defecto)\n" |
|
#: emultempl/pe.em:455 |
#, c-format |
226,8 → 227,8
" an importlib, use <string><basename>.dll\n" |
" in preference to lib<basename>.dll \n" |
msgstr "" |
|
|
" --dll-search-prefix=<cadena> Al enlazar dinámicamente con una dll sin una\n" |
" biblioteca de importación, usa <cadena><nombrebase>.dll \n" |
" en lugar de lib<nombrebase>.dll \n" |
|
#: emultempl/pe.em:458 |
242,7 → 243,7
#: emultempl/pe.em:460 |
#, c-format |
msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n" |
|
msgstr " --disable-auto-import No importa automáticamente elementos DATA de las DLLs\n" |
|
#: emultempl/pe.em:461 |
#, c-format |
251,9 → 252,9
" adding pseudo-relocations resolved at\n" |
" runtime.\n" |
msgstr "" |
|
" --enable-runtime-pseudo-reloc Evita limitaciones de autoimportación\n" |
" agregando pseudo-reubicaciones resueltas\n" |
|
" al momento de ejecución.\n" |
|
#: emultempl/pe.em:464 |
#, c-format |
262,7 → 263,7
" auto-imported DATA.\n" |
msgstr "" |
" --disable-runtime-pseudo-reloc No agrega pseudo-reubicaciones al momento\n" |
|
" de ejecución para DATOS autoimportados.\n" |
|
#: emultempl/pe.em:466 |
#, c-format |
270,8 → 271,8
" --enable-extra-pe-debug Enable verbose debug output when building\n" |
" or linking to DLLs (esp. auto-import)\n" |
msgstr "" |
|
|
" --enable-extra-pe-debug Activa la salida de depuración detallada al construir\n" |
" o enlazar a DLLs (en part. con auto-importación)\n" |
|
#: emultempl/pe.em:469 |
#, c-format |
288,8 → 289,8
" --enable-long-section-names Use long COFF section names even in\n" |
" executable image files\n" |
msgstr "" |
|
|
" --enable-long-section-names Usa nombres de sección COFF largos aún\n" |
" en ficheros de imágenes ejecutables\n" |
|
#: emultempl/pe.em:473 |
#, c-format |
297,8 → 298,8
" --disable-long-section-names Never use long COFF section names, even\n" |
" in object files\n" |
msgstr "" |
|
|
" --disable-long-section-names Nunca usa nombres de sección COFF largos,\n" |
" aún en ficheros objeto\n" |
|
#: emultempl/pe.em:475 |
#, c-format |
306,24 → 307,24
" --dynamicbase\t\t\t Image base address may be relocated using\n" |
"\t\t\t\t address space layout randomization (ASLR)\n" |
msgstr "" |
|
|
|
" --dynamicbase\t\t\t La dirección base de la imagen se puede\n" |
"\t\t\t\t reubicar usando la disposición aleatoria\n" |
"\t\t\t\t del espacio de direcciones (en inglés: ASLR)\n" |
|
#: emultempl/pe.em:477 |
#, c-format |
msgid " --forceinteg\t\t Code integrity checks are enforced\n" |
|
msgstr " --forceinteg\t\t Activa la revisión de integridad de código\n" |
|
#: emultempl/pe.em:478 |
#, c-format |
msgid " --nxcompat\t\t Image is compatible with data execution prevention\n" |
|
msgstr " --nxcompat\t\t La imagen es compatible con la prevención de ejecución de datos\n" |
|
#: emultempl/pe.em:479 |
#, c-format |
msgid " --no-isolation\t\t Image understands isolation but do not isolate the image\n" |
|
msgstr " --no-isolation\t\t La imagen entiende aislamiento, pero no aísla la imagen\n" |
|
#: emultempl/pe.em:480 |
#, c-format |
351,19 → 352,19
|
#: emultempl/pe.em:613 |
msgid "%P: warning: bad version number in -subsystem option\n" |
|
msgstr "%P: aviso: número de versión erróneo en la opción -subsystem\n" |
|
#: emultempl/pe.em:638 |
msgid "%P%F: invalid subsystem type %s\n" |
|
msgstr "%P%F: tipo de subsistema %s inválido\n" |
|
#: emultempl/pe.em:659 |
msgid "%P%F: invalid hex number for PE parameter '%s'\n" |
|
msgstr "%P%F: número hexadecimal inválido para el parámetro PE '%s'\n" |
|
#: emultempl/pe.em:676 |
msgid "%P%F: strange hex info for PE parameter '%s'\n" |
|
msgstr "%P%F: información hexadecimal extraña para el parámetro PE '%s'\n" |
|
#: emultempl/pe.em:693 |
#, c-format |
372,11 → 373,11
|
#: emultempl/pe.em:969 |
msgid "%P: warning, file alignment > section alignment.\n" |
|
msgstr "%P: aviso, alineación del fichero > alineación de la sección.\n" |
|
#: emultempl/pe.em:982 |
msgid "%P: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?\n" |
|
msgstr "%P: aviso: --export-dynamic no se admite para objetivos PE, ¿quiso decir --export-all-symbols?\n" |
|
#: emultempl/pe.em:1058 emultempl/pe.em:1085 |
#, c-format |
394,12 → 395,12
#: emultempl/pe.em:1110 |
#, c-format |
msgid "%C: Cannot get section contents - auto-import exception\n" |
|
msgstr "%C: No se puede obtener el contenido de la sección - excepción de auto-importación\n" |
|
#: emultempl/pe.em:1150 |
#, c-format |
msgid "Info: resolving %s by linking to %s (auto-import)\n" |
|
msgstr "Información: se resuelve %s al enlazar con %s (auto-importación)\n" |
|
#: emultempl/pe.em:1157 |
msgid "" |
406,14 → 407,14
"%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line.\n" |
"This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.\n" |
msgstr "" |
|
|
"%P: aviso: la importación automática se activó sin especificar --enable-auto-import en la línea de órdenes.\n" |
"Esto debe funcionar a menos que involucre estructuras de datos constantes que referencíen símbolos de DLLs auto-importadas.\n" |
|
#: emultempl/pe.em:1164 emultempl/pe.em:1369 emultempl/pe.em:1575 ldcref.c:490 |
#: ldcref.c:588 ldmain.c:1183 ldmisc.c:286 pe-dll.c:705 pe-dll.c:1253 |
#: pe-dll.c:1348 |
msgid "%B%F: could not read symbols: %E\n" |
|
msgstr "%B%F: no se pueden leer símbolos: %E\n" |
|
#: emultempl/pe.em:1245 |
msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n" |
432,19 → 433,19
#: emultempl/pe.em:1701 ldexp.c:542 ldlang.c:3323 ldlang.c:3358 ldlang.c:6804 |
#: ldlang.c:6835 ldmain.c:1128 |
msgid "%P%F: bfd_link_hash_lookup failed: %E\n" |
|
msgstr "%P%F: falló bfd_link_hash_lookup: %E\n" |
|
#: ldcref.c:168 |
msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n" |
|
msgstr "%X%P: falló bfd_hash_table_init de la tabla cref: %E\n" |
|
#: ldcref.c:174 |
msgid "%X%P: cref_hash_lookup failed: %E\n" |
|
msgstr "%X%P: falló cref_hash_lookup: %E\n" |
|
#: ldcref.c:184 |
msgid "%X%P: cref alloc failed: %E\n" |
|
msgstr "%X%P: falló la reubicación cref: %E\n" |
|
#: ldcref.c:366 |
#, c-format |
459,7 → 460,7
|
#: ldcref.c:367 |
msgid "Symbol" |
|
msgstr "Símbolo" |
|
#: ldcref.c:375 |
#, c-format |
469,11 → 470,11
#: ldcref.c:379 |
#, c-format |
msgid "No symbols\n" |
|
msgstr "No hay símbolos\n" |
|
#: ldcref.c:532 |
msgid "%P: symbol `%T' missing from main hash table\n" |
|
msgstr "%P: falta el símbolo `%T' de la tabla principal de dispersión\n" |
|
#: ldcref.c:650 ldcref.c:657 ldmain.c:1217 ldmain.c:1224 |
msgid "%B%F: could not read relocs: %E\n" |
497,11 → 498,11
|
#: ldctor.c:281 ldctor.c:295 |
msgid "%P%X: %s does not support reloc %s for set %s\n" |
|
msgstr "%P%X: %s no se admite la reubicación %s para el conjunto %s\n" |
|
#: ldctor.c:316 |
msgid "%P%X: Unsupported size %d for set %s\n" |
|
msgstr "%P%X: No se admite el tamaño %d para el conjunto %s\n" |
|
#: ldctor.c:337 |
msgid "" |
510,7 → 511,7
"\n" |
msgstr "" |
"\n" |
|
"Conjunto Símbolo\n" |
"\n" |
|
#: ldemul.c:265 |
525,7 → 526,7
|
#: ldemul.c:291 |
msgid "%P: unrecognised emulation mode: %s\n" |
|
msgstr "%P: no se reconoce el modo de emulación: %s\n" |
|
#: ldemul.c:292 |
msgid "Supported emulations: " |
534,11 → 535,11
#: ldemul.c:334 |
#, c-format |
msgid " no emulation specific options.\n" |
|
msgstr " no hay opciones específicas de emulación.\n" |
|
#: ldexp.c:313 |
msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n" |
|
msgstr "%P: aviso: la dirección de `%s' no es un múltiplo del tamaño máximo de página\n" |
|
#: ldexp.c:351 |
#, c-format |
553,69 → 554,69
#: ldexp.c:552 |
#, c-format |
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n" |
|
msgstr "%X%S: se referencía el símbolo sin resolución `%s' en la expresión\n" |
|
#: ldexp.c:564 |
#, c-format |
msgid "%F%S: undefined symbol `%s' referenced in expression\n" |
|
msgstr "%F%S: se referencía el símbolo sin definir `%s' en la expresión\n" |
|
#: ldexp.c:585 ldexp.c:602 ldexp.c:629 |
#, c-format |
msgid "%F%S: undefined section `%s' referenced in expression\n" |
|
msgstr "%F%S: se referencía la sección sin definir `%s' en la expresión\n" |
|
#: ldexp.c:656 ldexp.c:670 |
#, c-format |
msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n" |
|
msgstr "%F%S: se referencía la región MEMORY sin definir `%s' en la expresión\n" |
|
#: ldexp.c:681 |
#, c-format |
msgid "%F%S: unknown constant `%s' referenced in expression\n" |
|
msgstr "%F%S: se referencía la constante sin definir `%s' en la expresión\n" |
|
#: ldexp.c:743 |
#, c-format |
msgid "%F%S can not PROVIDE assignment to location counter\n" |
|
msgstr "%F%S no se puede hacer una asignación PROVIDE al contador de ubicación\n" |
|
#: ldexp.c:757 |
#, c-format |
msgid "%F%S invalid assignment to location counter\n" |
|
msgstr "%F%S asignación inválida al contador de ubicación\n" |
|
#: ldexp.c:760 |
#, c-format |
msgid "%F%S assignment to location counter invalid outside of SECTION\n" |
|
msgstr "%F%S asignación al contador de ubicación inválida fuera de SECTION\n" |
|
#: ldexp.c:773 |
msgid "%F%S cannot move location counter backwards (from %V to %V)\n" |
|
msgstr "%F%S no se puede mover el contador de ubicación hacia atrás (de %V a %V)\n" |
|
#: ldexp.c:812 |
msgid "%P%F:%s: hash creation failed\n" |
|
msgstr "%P%F:%s: falló la creación de la dispersión\n" |
|
#: ldexp.c:1119 ldexp.c:1144 ldexp.c:1204 |
#, c-format |
msgid "%F%S: nonconstant expression for %s\n" |
|
msgstr "%F%S: la expresión no es constante para %s\n" |
|
#: ldfile.c:141 |
#, c-format |
msgid "attempt to open %s failed\n" |
|
msgstr "falló el intento de abrir %s\n" |
|
#: ldfile.c:143 |
#, c-format |
msgid "attempt to open %s succeeded\n" |
|
msgstr "tuvo éxito el intento de abrir %s\n" |
|
#: ldfile.c:149 |
msgid "%F%P: invalid BFD target `%s'\n" |
|
msgstr "%F%P: objetivo BFD inválido `%s'\n" |
|
#: ldfile.c:266 ldfile.c:295 |
msgid "%P: skipping incompatible %s when searching for %s\n" |
623,11 → 624,11
|
#: ldfile.c:279 |
msgid "%F%P: attempted static link of dynamic object `%s'\n" |
|
msgstr "%F%P: se intentó el enlazado estático del objeto dinámico `%s'\n" |
|
#: ldfile.c:332 ldmain.c:832 |
msgid "%P%F: %s: plugin reported error claiming file\n" |
|
msgstr "%P%F: %s: el plugin reportó error al reclamar el fichero\n" |
|
#: ldfile.c:447 |
msgid "%P: cannot find %s (%s): %E\n" |
648,48 → 649,48
#: ldfile.c:507 ldfile.c:525 |
#, c-format |
msgid "cannot find script file %s\n" |
|
msgstr "no se puede encontrar el fichero de guión %s\n" |
|
#: ldfile.c:509 ldfile.c:527 |
#, c-format |
msgid "opened script file %s\n" |
|
msgstr "fichero de guión %s abierto\n" |
|
#: ldfile.c:657 |
msgid "%P%F: cannot open linker script file %s: %E\n" |
|
msgstr "%P%F: no se puede abrir el fichero de guión del enlazador %s: %E\n" |
|
#: ldfile.c:722 |
msgid "%P%F: cannot represent machine `%s'\n" |
|
msgstr "%P%F: no se puede representar la máquina `%s'\n" |
|
#: ldlang.c:1160 ldlang.c:1202 ldlang.c:3048 |
msgid "%P%F: can not create hash table: %E\n" |
|
msgstr "%P%F: no se puede crear la tabla de dispersión: %E\n" |
|
#: ldlang.c:1253 |
msgid "%P:%S: warning: redeclaration of memory region `%s'\n" |
|
msgstr "%P:%S: aviso: redeclaración de la región de memoria `%s'\n" |
|
#: ldlang.c:1259 |
msgid "%P:%S: warning: memory region `%s' not declared\n" |
|
msgstr "%P:%S: aviso: no se declaró la región de memoria `%s'\n" |
|
#: ldlang.c:1293 |
msgid "%F%P:%S: error: alias for default memory region\n" |
|
msgstr "%F%P:%S: aviso: alias para la región de memoria por defecto\n" |
|
#: ldlang.c:1304 |
msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n" |
|
msgstr "%F%P:%S: aviso: redefinición del alias de la región de memoria '%s'\n" |
|
#: ldlang.c:1311 |
msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n" |
|
msgstr "%F%P:%S: aviso: no existe la región de memoria `%s' para el alias `%s'\n" |
|
#: ldlang.c:1363 ldlang.c:1402 |
msgid "%P%F: failed creating section `%s': %E\n" |
|
msgstr "%P%F: falló la creación de la sección `%s': %E\n" |
|
#: ldlang.c:1958 |
#, c-format |
709,7 → 710,7
"\n" |
msgstr "" |
"\n" |
|
"Configuración de la Memoria\n" |
"\n" |
|
#: ldlang.c:1968 |
736,16 → 737,16
"\n" |
msgstr "" |
"\n" |
|
"Guión del enlazador y mapa de memoria\n" |
"\n" |
|
#: ldlang.c:2074 |
msgid "%P%F: Illegal use of `%s' section\n" |
|
msgstr "%P%F: Uso ilegal de la sección `%s'\n" |
|
#: ldlang.c:2083 |
msgid "%P%F: output format %s cannot represent section called %s\n" |
|
msgstr "%P%F: el formato de salida %s no puede representar la sección llamada %s\n" |
|
#: ldlang.c:2636 |
msgid "%B: file not recognized: %E\n" |
765,15 → 766,15
|
#: ldlang.c:2730 ldlang.c:2744 |
msgid "%F%B: could not read symbols: %E\n" |
|
msgstr "%F%B: no se puede leer símbolos: %E\n" |
|
#: ldlang.c:3018 |
msgid "%P: warning: could not find any targets that match endianness requirement\n" |
|
msgstr "%P: aviso: no se puede encontrar ningún objetivo que coincida con los requerimientos de `endianez'\n" |
|
#: ldlang.c:3032 |
msgid "%P%F: target %s not found\n" |
|
msgstr "%P%F: no se encontró el objetivo %s\n" |
|
#: ldlang.c:3034 |
msgid "%P%F: cannot open output file %s: %E\n" |
789,15 → 790,15
|
#: ldlang.c:3185 |
msgid "%P: warning: %s contains output sections; did you forget -T?\n" |
|
msgstr "%P: aviso: %s contiene secciones de salida. ¿Olvidó -T?\n" |
|
#: ldlang.c:3215 |
msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n" |
|
msgstr "%P%F: falló bfd_hash_lookup al crear el símbolo %s\n" |
|
#: ldlang.c:3233 |
msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n" |
|
msgstr "%P%F: falló bfd_hash_allocate al crear el símbolo %s\n" |
|
#: ldlang.c:3688 |
msgid "%F%P: %s not found for insert\n" |
805,94 → 806,94
|
#: ldlang.c:3903 |
msgid " load address 0x%V" |
|
msgstr " dirección de carga 0x%V" |
|
#: ldlang.c:4179 |
msgid "%W (size before relaxing)\n" |
|
msgstr "%W (tamaño antes de la relajación)\n" |
|
#: ldlang.c:4270 |
#, c-format |
msgid "Address of section %s set to " |
|
msgstr "La dirección de la sección %s se estableció a " |
|
#: ldlang.c:4423 |
#, c-format |
msgid "Fail with %d\n" |
|
msgstr "Falló con %d\n" |
|
#: ldlang.c:4710 |
msgid "%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n" |
|
msgstr "%X%P: la sección %s cargada en [%V,%V] sobreescribe la sección %s cargada en [%V,%V]\n" |
|
#: ldlang.c:4726 |
msgid "%X%P: region `%s' overflowed by %ld bytes\n" |
|
msgstr "%X%P: la región `%s' se desborda por %ld bytes\n" |
|
#: ldlang.c:4749 |
msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n" |
|
msgstr "%X%P: la dirección 0x%v de la sección %B %s no está dentro de la región `%s'\n" |
|
#: ldlang.c:4760 |
msgid "%X%P: %B section `%s' will not fit in region `%s'\n" |
|
msgstr "%X%P: la sección %B `%s' no cabe en la región `%s'\n" |
|
#: ldlang.c:4816 |
#, c-format |
msgid "%F%S: non constant or forward reference address expression for section %s\n" |
|
msgstr "%F%S: expresión de dirección de referencia hacia adelante o no constante para la sección %s\n" |
|
#: ldlang.c:4841 |
msgid "%P%X: Internal error on COFF shared library section %s\n" |
|
msgstr "%P%X: Error interno en la sección de biblioteca compartida COFF %s\n" |
|
#: ldlang.c:4900 |
msgid "%P%F: error: no memory region specified for loadable section `%s'\n" |
|
msgstr "%P%F: aviso: no se especificó una región de memoria para la sección cargable `%s'\n" |
|
#: ldlang.c:4905 |
msgid "%P: warning: no memory region specified for loadable section `%s'\n" |
|
msgstr "%P: aviso: no se especificó una región de memoria para la sección cargable `%s'\n" |
|
#: ldlang.c:4927 |
msgid "%P: warning: changing start of section %s by %lu bytes\n" |
|
msgstr "%P: aviso: se cambia el inicio de la sección %s por %lu bytes\n" |
|
#: ldlang.c:5004 |
msgid "%P: warning: dot moved backwards before `%s'\n" |
|
msgstr "%P: aviso: el punto se movió hacia atrás antes de `%s'\n" |
|
#: ldlang.c:5170 |
msgid "%P%F: can't relax section: %E\n" |
|
msgstr "%P%F: no se puede relajar la sección: %E\n" |
|
#: ldlang.c:5497 |
msgid "%F%P: invalid data statement\n" |
|
msgstr "%F%P: declaración de datos inválida\n" |
|
#: ldlang.c:5530 |
msgid "%F%P: invalid reloc statement\n" |
|
msgstr "%F%P: declaración de reubicación inválida\n" |
|
#: ldlang.c:5648 |
msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n" |
|
msgstr "%P%F: las secciones-gc requieren de una entrada o un símbolo indefinido\n" |
|
#: ldlang.c:5673 |
msgid "%P%F:%s: can't set start address\n" |
|
msgstr "%P%F:%s: no se puede establecer la dirección de inicio\n" |
|
#: ldlang.c:5686 ldlang.c:5705 |
msgid "%P%F: can't set start address\n" |
|
msgstr "%P%F: no se puede establecer la dirección de inicio\n" |
|
#: ldlang.c:5698 |
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" |
|
msgstr "%P: aviso: no se puede encontrar el símbolo de entrada %s; se usa por defecto %V\n" |
|
#: ldlang.c:5710 |
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" |
|
msgstr "%P: aviso: no se puede encontrar el símbolo de entrada %s; no se establece la dirección de inicio\n" |
|
#: ldlang.c:5760 |
msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n" |
904,11 → 905,11
|
#: ldlang.c:5792 |
msgid "%P%X: failed to merge target specific data of file %B\n" |
|
msgstr "%P%X: falló la mezcla de datos específicos de objetivo del fichero %B\n" |
|
#: ldlang.c:5863 |
msgid "%P%F: Could not define common symbol `%T': %E\n" |
|
msgstr "%P%F: No se puede definir el símbolo común `%T': %E\n" |
|
#: ldlang.c:5875 |
msgid "" |
916,7 → 917,7
"Allocating common symbols\n" |
msgstr "" |
"\n" |
|
"Se asignan símbolos comunes\n" |
|
#: ldlang.c:5876 |
msgid "" |
923,28 → 924,28
"Common symbol size file\n" |
"\n" |
msgstr "" |
|
"Símbolo común tamaño fichero\n" |
"\n" |
|
#: ldlang.c:6022 |
msgid "%P%F: invalid syntax in flags\n" |
|
msgstr "%P%F: sintaxis inválida en los interruptores\n" |
|
#: ldlang.c:6415 |
msgid "%P%F: Failed to create hash table\n" |
|
msgstr "%P%F: Falló al crear la tabla de dispersión\n" |
|
#: ldlang.c:6430 |
msgid "%P%F: %s: plugin reported error after all symbols read\n" |
|
msgstr "%P%F: %s: el plugin reportó error después de leer todos los símbolos\n" |
|
#: ldlang.c:6717 |
msgid "%P%F: multiple STARTUP files\n" |
|
msgstr "%P%F: ficheros STARTUP múltiples\n" |
|
#: ldlang.c:6765 |
msgid "%X%P:%S: section has both a load address and a load region\n" |
|
msgstr "%X%P:%S: la sección tiene tanto una dirección de carga como una región de carga\n" |
|
#: ldlang.c:6950 |
msgid "%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them\n" |
956,35 → 957,35
|
#: ldlang.c:7060 |
msgid "%F%P: bfd_record_phdr failed: %E\n" |
|
msgstr "%F%P: falló bfd_record_phdr: %E\n" |
|
#: ldlang.c:7080 |
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" |
|
msgstr "%X%P: se asignó la sección `%s' al phdr que no existe `%s'\n" |
|
#: ldlang.c:7481 |
msgid "%X%P: unknown language `%s' in version information\n" |
|
msgstr "%X%P: lenguaje `%s' desconocido en la información de la versión\n" |
|
#: ldlang.c:7626 |
msgid "%X%P: anonymous version tag cannot be combined with other version tags\n" |
|
msgstr "%X%P: la marca de versión anónima no se puede combinar con otras marcas de versión\n" |
|
#: ldlang.c:7635 |
msgid "%X%P: duplicate version tag `%s'\n" |
|
msgstr "%X%P: marca de versión `%s' duplicada\n" |
|
#: ldlang.c:7656 ldlang.c:7665 ldlang.c:7683 ldlang.c:7693 |
msgid "%X%P: duplicate expression `%s' in version information\n" |
|
msgstr "%X%P: expresión `%s' duplicada en la información de la versión\n" |
|
#: ldlang.c:7733 |
msgid "%X%P: unable to find version dependency `%s'\n" |
|
msgstr "%X%P: no se puede encontrar la dependencia de versión `%s'\n" |
|
#: ldlang.c:7756 |
msgid "%X%P: unable to read .exports section contents\n" |
|
msgstr "%X%P: no se pueden leer los contenidos de la sección .exports\n" |
|
#: ldmain.c:239 |
msgid "%X%P: can't set BFD default target to `%s': %E\n" |
1004,11 → 1005,11
|
#: ldmain.c:400 |
msgid "using external linker script:" |
|
msgstr "se usa el guión externo del enlazador:" |
|
#: ldmain.c:402 |
msgid "using internal linker script:" |
|
msgstr "se usa el guión interno del enlazador:" |
|
#: ldmain.c:436 |
msgid "%P%F: no input files\n" |
1032,7 → 1033,7
|
#: ldmain.c:503 |
msgid "%F%B: final close failed: %E\n" |
|
msgstr "%F%B: falló el cerrado final: %E\n" |
|
#: ldmain.c:529 |
msgid "%X%P: unable to open for source of copy `%s'\n" |
1059,7 → 1060,7
#: ldmain.c:563 |
#, c-format |
msgid "%s: data size %ld\n" |
|
msgstr "%s: tamaño de los datos %ld\n" |
|
#: ldmain.c:646 |
msgid "%P%F: missing argument to -m\n" |
1067,19 → 1068,19
|
#: ldmain.c:694 ldmain.c:714 ldmain.c:746 plugin.c:772 |
msgid "%P%F: bfd_hash_table_init failed: %E\n" |
|
msgstr "%P%F: falló bfd_hash_table_init: %E\n" |
|
#: ldmain.c:698 ldmain.c:718 |
msgid "%P%F: bfd_hash_lookup failed: %E\n" |
|
msgstr "%P%F: falló bfd_hash_lookup: %E\n" |
|
#: ldmain.c:732 |
msgid "%X%P: error: duplicate retain-symbols-file\n" |
|
msgstr "%X%P: error: fichero de símbolos a retener duplicado\n" |
|
#: ldmain.c:776 |
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" |
|
msgstr "%P%F: falló bfd_hash_lookup para la inserción: %E\n" |
|
#: ldmain.c:781 |
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" |
1091,66 → 1092,66
"Archive member included because of file (symbol)\n" |
"\n" |
msgstr "" |
|
"Se incluyó el miembro del archivo debido al fichero (símbolo)\n" |
"\n" |
|
#: ldmain.c:975 |
msgid "%X%C: multiple definition of `%T'\n" |
|
msgstr "%X%C: definiciones múltiples de `%T'\n" |
|
#: ldmain.c:978 |
msgid "%D: first defined here\n" |
|
msgstr "%D: primero se definió aquí\n" |
|
#: ldmain.c:982 |
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" |
|
msgstr "%P: Se desactiva la relajación: no funcionará con definiciones múltiples\n" |
|
|
|
# FIXME: Revisar en el código fuente si `common' se refiere a una orden o |
# se puede sustituir por `común'. cfuga |
#: ldmain.c:1012 |
msgid "%B: warning: definition of `%T' overriding common\n" |
|
msgstr "%B: aviso: la definición de `%T' se impone a common\n" |
|
#: ldmain.c:1015 |
msgid "%B: warning: common is here\n" |
|
msgstr "%B: aviso: common está aquí\n" |
|
#: ldmain.c:1022 |
msgid "%B: warning: common of `%T' overridden by definition\n" |
|
msgstr "%B: aviso: el common de `%T' se sobrepasa por definición\n" |
|
#: ldmain.c:1025 |
msgid "%B: warning: defined here\n" |
|
msgstr "%B: aviso: se definió aquí\n" |
|
#: ldmain.c:1032 |
msgid "%B: warning: common of `%T' overridden by larger common\n" |
|
msgstr "%B: aviso: el common de `%T' se sobrepasa con un common más grande\n" |
|
#: ldmain.c:1035 |
msgid "%B: warning: larger common is here\n" |
|
msgstr "%B: aviso: el common más grande está aquí\n" |
|
#: ldmain.c:1039 |
msgid "%B: warning: common of `%T' overriding smaller common\n" |
|
msgstr "%B: aviso: el common de `%T' se sobrepasa con un common más pequeño\n" |
|
#: ldmain.c:1042 |
msgid "%B: warning: smaller common is here\n" |
|
msgstr "%B: aviso: el common más pequeño está aquí\n" |
|
#: ldmain.c:1046 |
msgid "%B: warning: multiple common of `%T'\n" |
|
msgstr "%B: aviso: common múltiple de `%T'\n" |
|
#: ldmain.c:1048 |
msgid "%B: warning: previous common is here\n" |
|
msgstr "%B: aviso: el common previo está aquí\n" |
|
#: ldmain.c:1068 ldmain.c:1106 |
msgid "%P: warning: global constructor %s used\n" |
|
msgstr "%P: aviso: se usó el constructor global %s\n" |
|
#: ldmain.c:1116 |
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" |
1163,11 → 1164,11
|
#: ldmain.c:1273 |
msgid "%F%P: bfd_hash_table_init failed: %E\n" |
|
msgstr "%F%P: falló bfd_hash_table_init: %E\n" |
|
#: ldmain.c:1280 |
msgid "%F%P: bfd_hash_lookup failed: %E\n" |
|
msgstr "%F%P: falló bfd_hash_lookup: %E\n" |
|
#: ldmain.c:1301 |
msgid "%X%C: undefined reference to `%T'\n" |
1179,11 → 1180,11
|
#: ldmain.c:1310 |
msgid "%X%D: more undefined references to `%T' follow\n" |
|
msgstr "%X%D: más referencias a `%T' sin definir a continuación\n" |
|
#: ldmain.c:1313 |
msgid "%D: warning: more undefined references to `%T' follow\n" |
|
msgstr "%D: aviso: más referencias a `%T' sin definir a continuación\n" |
|
#: ldmain.c:1324 |
msgid "%X%B: undefined reference to `%T'\n" |
1195,50 → 1196,50
|
#: ldmain.c:1333 |
msgid "%X%B: more undefined references to `%T' follow\n" |
|
msgstr "%X%B: más referencias a `%T' sin definir a continuación\n" |
|
#: ldmain.c:1336 |
msgid "%B: warning: more undefined references to `%T' follow\n" |
|
msgstr "%B: aviso: más referencias a `%T' sin definir a continuación\n" |
|
#: ldmain.c:1375 |
msgid " additional relocation overflows omitted from the output\n" |
|
msgstr " se omitieron desbordamientos de reubicación adicionales de la salida\n" |
|
#: ldmain.c:1388 |
msgid " relocation truncated to fit: %s against undefined symbol `%T'" |
|
msgstr " reubicación truncada para ajustar: %s contra el símbolo `%T' sin definir" |
|
#: ldmain.c:1393 |
msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B" |
|
msgstr " reubicación truncada para ajustar: %s contra el símbolo `%T' definido en la sección %A en %B" |
|
#: ldmain.c:1405 |
msgid " relocation truncated to fit: %s against `%T'" |
|
msgstr " reubicación truncada para ajustar: %s contra `%T'" |
|
#: ldmain.c:1422 |
#, c-format |
msgid "%X%C: dangerous relocation: %s\n" |
|
msgstr "%X%C: reubicación peligrosa: %s\n" |
|
#: ldmain.c:1437 |
msgid "%X%C: reloc refers to symbol `%T' which is not being output\n" |
|
msgstr "%X%C: la reubicación se refiere al símbolo `%T' el cual no se muestra\n" |
|
#: ldmisc.c:149 |
#, c-format |
msgid "no symbol" |
|
msgstr "no hay símbolo" |
|
#: ldmisc.c:246 |
#, c-format |
msgid "built in linker script:%u" |
|
msgstr "guión interno del enlazador:%u" |
|
#: ldmisc.c:324 |
msgid "%B: In function `%T':\n" |
|
msgstr "%B: En la función `%T':\n" |
|
#: ldmisc.c:451 |
msgid "%F%P: internal error %s %d\n" |
1246,11 → 1247,11
|
#: ldmisc.c:500 |
msgid "%P: internal error: aborting at %s line %d in %s\n" |
|
msgstr "%P: error interno: se aborta en %s línea %d en %s\n" |
|
#: ldmisc.c:503 |
msgid "%P: internal error: aborting at %s line %d\n" |
|
msgstr "%P: error interno: se aborta en %s línea %d\n" |
|
#: ldmisc.c:505 |
msgid "%P%F: please report this bug\n" |
1274,10 → 1275,10
"the GNU General Public License version 3 or (at your option) a later version.\n" |
"This program has absolutely no warranty.\n" |
msgstr "" |
|
|
"Este programa es software libre; se puede redistribuir bajo los términos de\n" |
"la Licencia Pública General de GNU versión 3 o (a su elección) una versión\n" |
"posterior.\n" |
|
"Este programa no tiene absolutamente ninguna garantía.\n" |
|
#: ldver.c:54 |
#, c-format |
1286,24 → 1287,24
|
#: ldwrite.c:62 ldwrite.c:207 |
msgid "%P%F: bfd_new_link_order failed\n" |
|
msgstr "%P%F: falló bfd_new_link_order\n" |
|
#: ldwrite.c:365 |
msgid "%F%P: cannot create split section name for %s\n" |
|
msgstr "%F%P: no se puede crear el nombre de sección dividida para %s\n" |
|
#: ldwrite.c:377 |
msgid "%F%P: clone section failed: %E\n" |
|
msgstr "%F%P: falló la clonación de la sección: %E\n" |
|
#: ldwrite.c:418 |
#, c-format |
msgid "%8x something else\n" |
|
msgstr "%8x algo más\n" |
|
#: ldwrite.c:588 |
msgid "%F%P: final link failed: %E\n" |
|
msgstr "%F%P: falló el enlace final: %E\n" |
|
#: lexsup.c:219 lexsup.c:368 |
msgid "KEYWORD" |
1336,23 → 1337,23
|
#: lexsup.c:227 |
msgid "Read MRI format linker script" |
|
msgstr "Lee el guión del enlazador de formato MRI" |
|
#: lexsup.c:229 |
msgid "Force common symbols to be defined" |
|
msgstr "Fuerza que se definan los símbolos comunes" |
|
#: lexsup.c:233 lexsup.c:545 lexsup.c:547 lexsup.c:549 lexsup.c:551 |
msgid "ADDRESS" |
|
msgstr "DIRECCIÓN" |
|
#: lexsup.c:233 |
msgid "Set start address" |
|
msgstr "Establece la dirección de inicio" |
|
#: lexsup.c:235 |
msgid "Export all dynamic symbols" |
|
msgstr "Exporta todos los símbolos dinámicos" |
|
#: lexsup.c:237 |
msgid "Undo the effect of --export-dynamic" |
1372,11 → 1373,11
|
#: lexsup.c:243 |
msgid "Auxiliary filter for shared object symbol table" |
|
msgstr "Filtro auxiliar para la tabla de símbolos de objetos compartidos" |
|
#: lexsup.c:246 |
msgid "Filter for shared object symbol table" |
|
msgstr "Filtro para la tabla de símbolos de objetos compartidos" |
|
#: lexsup.c:249 |
msgid "Ignored" |
1384,11 → 1385,11
|
#: lexsup.c:251 |
msgid "SIZE" |
|
msgstr "TAMAÑO" |
|
#: lexsup.c:251 |
msgid "Small data size (if no size, same as --shared)" |
|
msgstr "Tamaño de los datos small (si no se especifica, es el mismo que --shared)" |
|
#: lexsup.c:254 |
msgid "FILENAME" |
1404,7 → 1405,7
|
#: lexsup.c:256 |
msgid "Set PROGRAM as the dynamic linker to use" |
|
msgstr "Establece el PROGRAMA como el enlazador dinámico a utilizar" |
|
#: lexsup.c:259 |
msgid "LIBNAME" |
1420,23 → 1421,23
|
#: lexsup.c:261 |
msgid "Add DIRECTORY to library search path" |
|
msgstr "Agrega el DIRECTORIO a la ruta de búsqueda de bibliotecas" |
|
#: lexsup.c:264 |
msgid "Override the default sysroot location" |
|
msgstr "Sobreescribe la ubicación de sysroot por defecto" |
|
#: lexsup.c:266 |
msgid "EMULATION" |
|
msgstr "EMULACIÓN" |
|
#: lexsup.c:266 |
msgid "Set emulation" |
|
msgstr "Establece la emulación" |
|
#: lexsup.c:268 |
msgid "Print map file on standard output" |
|
msgstr "Muestra el fichero mapa en la salida estándar" |
|
#: lexsup.c:270 |
msgid "Do not page align data" |
1444,11 → 1445,11
|
#: lexsup.c:272 |
msgid "Do not page align data, do not make text readonly" |
|
msgstr "No pagina los datos alineados, no hace el texto de sólo lectura" |
|
#: lexsup.c:275 |
msgid "Page align data, make text readonly" |
|
msgstr "Pagina los datos alineados, hace el texto de sólo lectura" |
|
#: lexsup.c:278 |
msgid "Set output file name" |
1472,7 → 1473,7
|
#: lexsup.c:285 |
msgid "Send arg to last-loaded plugin" |
|
msgstr "Envía el argumento al último plugin cargado" |
|
#: lexsup.c:288 |
msgid "Ignored for SVR4 compatibility" |
1484,23 → 1485,23
|
#: lexsup.c:296 |
msgid "Just link symbols (if directory, same as --rpath)" |
|
msgstr "Sólo enlaza símbolos (si es un directorio, es igual que --rpath)" |
|
#: lexsup.c:299 |
msgid "Strip all symbols" |
|
msgstr "Descarta todos los símbolos" |
|
#: lexsup.c:301 |
msgid "Strip debugging symbols" |
|
msgstr "Descarta los símbolos de depuración" |
|
#: lexsup.c:303 |
msgid "Strip symbols in discarded sections" |
|
msgstr "Descarta símbolos en las secciones descartadas" |
|
#: lexsup.c:305 |
msgid "Do not strip symbols in discarded sections" |
|
msgstr "No descarta símbolos en las secciones descartadas" |
|
#: lexsup.c:307 |
msgid "Trace file opens" |
1508,28 → 1509,28
|
#: lexsup.c:309 |
msgid "Read linker script" |
|
msgstr "Lee el guión del enlazador" |
|
#: lexsup.c:311 |
msgid "Read default linker script" |
|
msgstr "Lee el guión del enlazador por defecto" |
|
#: lexsup.c:315 lexsup.c:333 lexsup.c:418 lexsup.c:439 lexsup.c:538 |
#: lexsup.c:566 lexsup.c:605 |
msgid "SYMBOL" |
|
msgstr "SÍMBOLO" |
|
#: lexsup.c:315 |
msgid "Start with undefined reference to SYMBOL" |
|
msgstr "Inicia con una referencia sin definir hacia el SÍMBOLO" |
|
#: lexsup.c:318 |
msgid "[=SECTION]" |
|
msgstr "[=SECCIÓN]" |
|
#: lexsup.c:319 |
msgid "Don't merge input [SECTION | orphan] sections" |
|
msgstr "No mezcla secciones de entrada [SECCIÓN | huérfanas]" |
|
#: lexsup.c:321 |
msgid "Build global constructor/destructor tables" |
1537,27 → 1538,27
|
#: lexsup.c:323 |
msgid "Print version information" |
|
msgstr "Muestra la información de la versión" |
|
#: lexsup.c:325 |
msgid "Print version and emulation information" |
|
msgstr "Muestra la información de la versión y de la emulación" |
|
#: lexsup.c:327 |
msgid "Discard all local symbols" |
|
msgstr "Descarta todos los símbolos locales" |
|
#: lexsup.c:329 |
msgid "Discard temporary local symbols (default)" |
|
msgstr "Descarta los símbolos locales temporales (por defecto)" |
|
#: lexsup.c:331 |
msgid "Don't discard any local symbols" |
|
msgstr "No descarta ningún símbolo local" |
|
#: lexsup.c:333 |
msgid "Trace mentions of SYMBOL" |
|
msgstr "Rastrea las menciones del SÍMBOLO" |
|
#: lexsup.c:335 lexsup.c:503 lexsup.c:505 |
msgid "PATH" |
1565,7 → 1566,7
|
#: lexsup.c:335 |
msgid "Default search path for Solaris compatibility" |
|
msgstr "Ruta de búsqueda por defecto para compatibilidad con Solaris" |
|
#: lexsup.c:338 |
msgid "Start a group" |
1585,7 → 1586,7
|
#: lexsup.c:361 |
msgid "Only set DT_NEEDED for following dynamic libs if used" |
|
msgstr "Sólo establece DT_NEEDED para las siguientes bibliotecas dinámicas si se usan" |
|
#: lexsup.c:364 |
msgid "" |
1592,8 → 1593,8
"Always set DT_NEEDED for dynamic libraries mentioned on\n" |
" the command line" |
msgstr "" |
|
|
"Siempre establece DT_NEEDED para las bibliotecas dinámicas\n" |
" mencionadas en la línea de órdenes" |
|
#: lexsup.c:368 |
msgid "Ignored for SunOS compatibility" |
1613,7 → 1614,7
|
#: lexsup.c:386 |
msgid "Bind global function references locally" |
|
msgstr "Asocia localmente las referencias a función globales" |
|
#: lexsup.c:388 |
msgid "Check section addresses for overlaps (default)" |
1625,11 → 1626,11
|
#: lexsup.c:395 |
msgid "Copy DT_NEEDED links mentioned inside DSOs that follow" |
|
msgstr "Copia los enlaces DT_NEEDED mencionados dentro de los DSOs a continuación" |
|
#: lexsup.c:399 |
msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow" |
|
msgstr "No copia los enlaces DT_NEEDED mencionados dentro de los DSOs a continuación" |
|
#: lexsup.c:403 |
msgid "Output cross reference table" |
1637,11 → 1638,11
|
#: lexsup.c:405 |
msgid "SYMBOL=EXPRESSION" |
|
msgstr "SÍMBOLO=EXPRESIÓN" |
|
#: lexsup.c:405 |
msgid "Define a symbol" |
|
msgstr "Define un símbolo" |
|
#: lexsup.c:407 |
msgid "[=STYLE]" |
1649,12 → 1650,12
|
#: lexsup.c:407 |
msgid "Demangle symbol names [using STYLE]" |
|
msgstr "Desenreda los nombres de los símbolos [utilizando el ESTILO]" |
|
|
# No me convence mucho la traducción de `embedded' por imbuído. cfuga |
#: lexsup.c:410 |
msgid "Generate embedded relocs" |
|
msgstr "Genera reubicaciones imbuídas" |
|
#: lexsup.c:412 |
msgid "Treat warnings as errors" |
1666,11 → 1667,11
|
#: lexsup.c:418 |
msgid "Call SYMBOL at unload-time" |
|
msgstr "Llama al SÍMBOLO al momento de descargar" |
|
#: lexsup.c:420 |
msgid "Force generation of file with .exe suffix" |
|
msgstr "Fuerza la generación del fichero con sufijo .exe" |
|
#: lexsup.c:422 |
msgid "Remove unused sections (on some targets)" |
1682,7 → 1683,7
|
#: lexsup.c:428 |
msgid "List removed unused sections on stderr" |
|
msgstr "Muestra las secciones sin uso eliminadas en la salida de error estándar" |
|
#: lexsup.c:431 |
msgid "Do not list removed unused sections" |
1690,7 → 1691,7
|
#: lexsup.c:434 |
msgid "Set default hash table size close to <NUMBER>" |
|
msgstr "Establece el tamaño de de la tabla de dispersión cercano al <NÚMERO>" |
|
#: lexsup.c:437 |
msgid "Print option help" |
1698,7 → 1699,7
|
#: lexsup.c:439 |
msgid "Call SYMBOL at load-time" |
|
msgstr "Llama al SÍMBOLO al momento de cargar" |
|
#: lexsup.c:441 |
msgid "Write a map file" |
1710,11 → 1711,11
|
#: lexsup.c:445 |
msgid "Do not demangle symbol names" |
|
msgstr "No desenreda los nombres de los símbolos" |
|
#: lexsup.c:447 |
msgid "Use less memory and more disk I/O" |
|
msgstr "Usa menos memoria y más E/S de disco" |
|
#: lexsup.c:449 |
msgid "Do not allow unresolved references in object files" |
1730,7 → 1731,7
|
#: lexsup.c:460 |
msgid "Allow multiple definitions" |
|
msgstr "Permite definiciones múltiples" |
|
#: lexsup.c:462 |
msgid "Disallow undefined version" |
1738,11 → 1739,11
|
#: lexsup.c:464 |
msgid "Create default symbol version" |
|
msgstr "Crea la versión de símbolo por defecto" |
|
#: lexsup.c:467 |
msgid "Create default symbol version for imported symbols" |
|
msgstr "Crea la versión de símbolo por defecto para símbolos importados" |
|
#: lexsup.c:470 |
msgid "Don't warn about mismatched input files" |
1758,7 → 1759,7
|
#: lexsup.c:478 |
msgid "Create an output file even if errors occur" |
|
msgstr "Crea un fichero de salida aún si ocurren errores" |
|
#: lexsup.c:483 |
msgid "" |
1766,7 → 1767,7
" the command line" |
msgstr "" |
"Utiliza solamente los directorios de bibliotecas\n" |
|
" especificados en la línea de órdenes" |
|
#: lexsup.c:487 |
msgid "Specify target of output file" |
1778,27 → 1779,27
|
#: lexsup.c:493 |
msgid "Reduce memory overheads, possibly taking much longer" |
|
msgstr "Reduce las saturaciones de memoria, tal vez tomando más tiempo" |
|
#: lexsup.c:496 |
msgid "Reduce code size by using target specific optimizations" |
|
msgstr "Reduce el tamaño del código usando optimizaciones específicas del objetivo" |
|
#: lexsup.c:498 |
msgid "Do not use relaxation techniques to reduce code size" |
|
msgstr "No utiliza técnicas de relajación para reducir el tamaño del código" |
|
#: lexsup.c:501 |
msgid "Keep only symbols listed in FILE" |
|
msgstr "Conserva solamente los símbolos enlistados en el FICHERO" |
|
#: lexsup.c:503 |
msgid "Set runtime shared library search path" |
|
msgstr "Establece la ruta de búsqueda de bibliotecas compartidas en tiempo de ejecución" |
|
#: lexsup.c:505 |
msgid "Set link time shared library search path" |
|
msgstr "Establece la ruta de búsqueda de bibliotecas compartidas en tiempo de enlace" |
|
#: lexsup.c:508 |
msgid "Create a shared library" |
1806,7 → 1807,7
|
#: lexsup.c:512 |
msgid "Create a position independent executable" |
|
msgstr "Crea un ejecutable independiente de posición" |
|
#: lexsup.c:516 |
msgid "[=ascending|descending]" |
1814,15 → 1815,15
|
#: lexsup.c:517 |
msgid "Sort common symbols by alignment [in specified order]" |
|
msgstr "Ordena los símbolos comunes por alineación [en orden específico]" |
|
#: lexsup.c:522 |
msgid "name|alignment" |
|
msgstr "nombre|alineación" |
|
#: lexsup.c:523 |
msgid "Sort sections by name or maximum alignment" |
|
msgstr "Ordena secciones por nombre o alineación máxima" |
|
#: lexsup.c:525 |
msgid "COUNT" |
1830,15 → 1831,15
|
#: lexsup.c:525 |
msgid "How many tags to reserve in .dynamic section" |
|
msgstr "Cúantas marcas reserva en la sección .dynamic" |
|
#: lexsup.c:528 |
msgid "[=SIZE]" |
|
msgstr "[=TAMAÑO]" |
|
#: lexsup.c:528 |
msgid "Split output sections every SIZE octets" |
|
msgstr "Divide las secciones de salida cada TAMAÑO octetos" |
|
#: lexsup.c:531 |
msgid "[=COUNT]" |
1850,11 → 1851,11
|
#: lexsup.c:534 |
msgid "Print memory usage statistics" |
|
msgstr "Muestra las estadísticas de uso de memoria" |
|
#: lexsup.c:536 |
msgid "Display target specific options" |
|
msgstr "Muestra las opciones específicas del objetivo" |
|
#: lexsup.c:538 |
msgid "Do task level linking" |
1866,27 → 1867,27
|
#: lexsup.c:542 |
msgid "SECTION=ADDRESS" |
|
msgstr "SECCIÓN=DIRECCIÓN" |
|
#: lexsup.c:542 |
msgid "Set address of named section" |
|
msgstr "Establece la dirección de la sección nombrada" |
|
#: lexsup.c:545 |
msgid "Set address of .bss section" |
|
msgstr "Establece la dirección de la sección .bss" |
|
#: lexsup.c:547 |
msgid "Set address of .data section" |
|
msgstr "Establece la dirección de la sección .data" |
|
#: lexsup.c:549 |
msgid "Set address of .text section" |
|
msgstr "Establece la dirección de la sección .text" |
|
#: lexsup.c:551 |
msgid "Set address of text segment" |
|
msgstr "Establece la dirección del segmento de texto" |
|
#: lexsup.c:554 |
msgid "" |
1894,17 → 1895,17
" ignore-all, report-all, ignore-in-object-files,\n" |
" ignore-in-shared-libs" |
msgstr "" |
|
"Cómo manejar símbolos sin resolver. <método> es:\n" |
" ignore-all, report-all, ignore-in-object-files,\n" |
" ignore-in-shared-libs" |
|
#: lexsup.c:559 |
msgid "Output lots of information during link" |
|
msgstr "Muestra mucha información durante el enlace" |
|
#: lexsup.c:563 |
msgid "Read version information script" |
|
msgstr "Lee la información de la versión del guión" |
|
#: lexsup.c:566 |
msgid "" |
1911,28 → 1912,28
"Take export symbols list from .exports, using\n" |
" SYMBOL as the version." |
msgstr "" |
|
|
"Toma la lista de exportación de símbolos de .exports, usando\n" |
" el SÍMBOLO como la versión." |
|
#: lexsup.c:570 |
msgid "Add data symbols to dynamic list" |
|
msgstr "Agrega símbolos de datos a la lista dinámica" |
|
#: lexsup.c:572 |
msgid "Use C++ operator new/delete dynamic list" |
|
msgstr "Usa la lista dinámica de los operadores de C++ new/delete" |
|
#: lexsup.c:574 |
msgid "Use C++ typeinfo dynamic list" |
|
msgstr "Usa la lista dinámica de tipo de dato de C++" |
|
#: lexsup.c:576 |
msgid "Read dynamic list" |
|
msgstr "Lee la lista dinámica" |
|
#: lexsup.c:578 |
msgid "Warn about duplicate common symbols" |
|
msgstr "Avisa sobre símbolos comunes duplicados" |
|
#: lexsup.c:580 |
msgid "Warn if global constructors/destructors are seen" |
1940,15 → 1941,15
|
#: lexsup.c:583 |
msgid "Warn if the multiple GP values are used" |
|
msgstr "Avisa si se usan valores múltiples de GP" |
|
#: lexsup.c:585 |
msgid "Warn only once per undefined symbol" |
|
msgstr "Avisa sólo una vez por cada símbolo sin definir" |
|
#: lexsup.c:587 |
msgid "Warn if start of section changes due to alignment" |
|
msgstr "Avisa si el inicio de la sección cambia debido a la alineación" |
|
#: lexsup.c:590 |
msgid "Warn if shared object has DT_TEXTREL" |
1956,15 → 1957,15
|
#: lexsup.c:593 |
msgid "Warn if an object has alternate ELF machine code" |
|
msgstr "Avisa si el objeto tiene código máquina ELF alternativo" |
|
#: lexsup.c:597 |
msgid "Report unresolved symbols as warnings" |
|
msgstr "Reporta símbolos sin resolver como avisos" |
|
#: lexsup.c:600 |
msgid "Report unresolved symbols as errors" |
|
msgstr "Reporta símbolos sin resolver como errores" |
|
#: lexsup.c:602 |
msgid "Include all objects from following archives" |
1972,23 → 1973,23
|
#: lexsup.c:605 |
msgid "Use wrapper functions for SYMBOL" |
|
msgstr "Usa funciones de envoltura para el SÍMBOLO" |
|
#: lexsup.c:754 |
msgid "%P: unrecognized option '%s'\n" |
|
msgstr "%P: no se reconoce la opción `%s'\n" |
|
#: lexsup.c:758 |
msgid "%P%F: use the --help option for usage information\n" |
|
msgstr "%P%F: use la opción --help para información de modo de empleo\n" |
|
#: lexsup.c:776 |
msgid "%P%F: unrecognized -a option `%s'\n" |
|
msgstr "%P%F: no se reconoce la opción -a `%s'\n" |
|
#: lexsup.c:789 |
msgid "%P%F: unrecognized -assert option `%s'\n" |
|
msgstr "%P%F: no se reconoce la opción -assert `%s'\n" |
|
#: lexsup.c:832 |
msgid "%F%P: unknown demangling style `%s'" |
1996,19 → 1997,19
|
#: lexsup.c:898 |
msgid "%P%F: invalid number `%s'\n" |
|
msgstr "%P%F: número `%s' inválido\n" |
|
#: lexsup.c:996 |
msgid "%P%F: bad --unresolved-symbols option: %s\n" |
|
msgstr "%P%F: opción --unresolved-symbols errónea: %s\n" |
|
#: lexsup.c:1059 |
msgid "%P%F: bad -plugin option\n" |
|
msgstr "%P%F: opción -plugin errónea\n" |
|
#: lexsup.c:1063 |
msgid "%P%F: bad -plugin-opt option\n" |
|
msgstr "%P%F: opción -plugin-opt errónea\n" |
|
#. This can happen if the user put "-rpath,a" on the command |
#. line. (Or something similar. The comma is important). |
2020,7 → 2021,7
#. and will seg-fault the next time around. |
#: lexsup.c:1080 |
msgid "%P%F: bad -rpath option\n" |
|
msgstr "%P%F: opción -rpath errónea\n" |
|
#: lexsup.c:1194 |
msgid "%P%F: -shared not supported\n" |
2040,7 → 2041,7
|
#: lexsup.c:1216 |
msgid "%P%F: invalid common section sorting option: %s\n" |
|
msgstr "%P%F: opción de ordenado de sección común inválida: %s\n" |
|
#: lexsup.c:1220 |
msgid "name" |
2048,27 → 2049,27
|
#: lexsup.c:1222 |
msgid "alignment" |
|
msgstr "alineación" |
|
#: lexsup.c:1225 |
msgid "%P%F: invalid section sorting option: %s\n" |
|
msgstr "%P%F: opción de ordenado de sección inválida: %s\n" |
|
#: lexsup.c:1259 |
msgid "%P%F: invalid argument to option \"--section-start\"\n" |
|
msgstr "%P%F: argumento inválido para la opción \"--section-start\"\n" |
|
#: lexsup.c:1266 |
msgid "%P%F: missing argument(s) to option \"--section-start\"\n" |
|
msgstr "%P%F: falta(n) argumento(s) para la opción \"--section-start\"\n" |
|
#: lexsup.c:1490 |
msgid "%P%F: group ended before it began (--help for usage)\n" |
|
msgstr "%P%F: el grupo terminó antes de empezar (--help para modo de empleo)\n" |
|
#: lexsup.c:1518 |
msgid "%P%X: --hash-size needs a numeric argument\n" |
|
msgstr "%P%X: --hash-size necesita un argumento numérico\n" |
|
#: lexsup.c:1547 |
msgid "%P%F: %s: error loading plugin\n" |
2076,7 → 2077,7
|
#: lexsup.c:1578 lexsup.c:1591 |
msgid "%P%F: invalid hex number `%s'\n" |
|
msgstr "%P%F: número hexadecimal `%s' inválido\n" |
|
#: lexsup.c:1627 |
#, c-format |
2113,7 → 2114,7
#: lexsup.c:1728 |
#, c-format |
msgid "%s: emulation specific options:\n" |
|
msgstr "%s: opciones específicas de emulación:\n" |
|
#: lexsup.c:1733 |
#, c-format |
2132,7 → 2133,7
#: pe-dll.c:788 |
#, c-format |
msgid "%XCannot export %s: invalid export name\n" |
|
msgstr "%XNo se puede exportar %s: nombre de exportación inválido\n" |
|
#: pe-dll.c:844 |
#, c-format |
2147,17 → 2148,17
#: pe-dll.c:938 |
#, c-format |
msgid "%XCannot export %s: symbol not defined\n" |
|
msgstr "%XNo se puede exportar %s: símbolo sin definir\n" |
|
#: pe-dll.c:944 |
#, c-format |
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n" |
|
msgstr "%XNo se puede exportar %s: tipo erróneo del símbolo (%d vs %d)\n" |
|
#: pe-dll.c:951 |
#, c-format |
msgid "%XCannot export %s: symbol not found\n" |
|
msgstr "%XNo se puede exportar %s: no se encuentra el símbolo\n" |
|
#: pe-dll.c:1065 |
#, c-format |
2167,7 → 2168,7
#: pe-dll.c:1446 |
#, c-format |
msgid "%XError: %d-bit reloc in dll\n" |
|
msgstr "%XError: reubicación de %d-bit en la dll\n" |
|
#: pe-dll.c:1574 |
#, c-format |
2181,7 → 2182,7
|
#: pe-dll.c:2652 |
msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n" |
|
msgstr "%C: no se puede auto-importar la variable '%T'. Por favor lea la documentación para --enable-auto-import de ld para más detalles.\n" |
|
#: pe-dll.c:2682 |
#, c-format |
2211,7 → 2212,7
#: pe-dll.c:3177 |
#, c-format |
msgid "%XError: can't use long section names on this arch\n" |
|
msgstr "%XError: no se pueden usar nombres de sección largos en esta arquitectura\n" |
|
#: plugin.c:178 plugin.c:212 |
msgid "<no plugin>" |
2219,19 → 2220,19
|
#: plugin.c:308 |
msgid "%P%F: %s: non-ELF symbol in ELF BFD!" |
|
msgstr "%P%F: %s: ¡Símbolo que no es ELF en el BFD ELF!" |
|
#: plugin.c:800 |
msgid "%P%X: %s: hash table failure adding symbol %s" |
|
msgstr "%P%X: %s: falló la tabla de dispersión al agregar el símbolo %s" |
|
#: plugin.c:833 |
msgid "%P%X: %s: can't find IR symbol '%s'" |
|
msgstr "%P%X: %s: no se puede encontrar el símbolo IR '%s'" |
|
#: plugin.c:836 |
msgid "%P%x: %s: bad IR symbol type %d" |
|
msgstr "%P%x: %s: tipo de símbolo IR %d erróneo" |
|
#~ msgid "%F%P: %s (%s): No such file: %E\n" |
#~ msgstr "%F%P: %s (%s): No hay tal fichero: %E\n" |
2244,7 → 2245,7
#~ " following dynamic libs" |
#~ msgstr "" |
#~ "Establece marcas DT_NEEDED para entradas DT_NEEDED en\n" |
|
#~ " las siguientes bibliotecas dinámicas" |
|
#~ msgid "" |
#~ "Do not set DT_NEEDED tags for DT_NEEDED entries\n" |
2251,10 → 2252,10
#~ " in following dynamic libs" |
#~ msgstr "" |
#~ "No establece marcas DT_NEEDED para entradas DT_NEEDED en\n" |
|
#~ " las siguientes bibliotecas dinámicas" |
|
#~ msgid "Always set DT_NEEDED for following dynamic libs" |
|
#~ msgstr "Siempre establece DT_NEEDED para las siguientes bibliotecas dinámicas" |
|
#~ msgid "Relax branches on certain targets" |
#~ msgstr "Relaja ramificaciones en ciertos objetivos" |
2266,22 → 2267,22
#~ msgstr "%P%F: no se pueden usar juntos -relax y -r\n" |
|
#~ msgid " --support-old-code Support interworking with old code\n" |
|
#~ msgstr " --support-old-code Admite interoperar con código antiguo\n" |
|
#~ msgid "%B%F: could not read symbols; %E\n" |
|
#~ msgstr "%B%F: no se pueden leer símbolos; %E\n" |
|
#~ msgid "%F%S nonconstant expression for %s\n" |
|
#~ msgstr "%F%S expresión no constante para %s\n" |
|
#~ msgid "%B%F: could not read symbols\n" |
|
#~ msgstr "%B%F: no se pueden leer los símbolos\n" |
|
#~ msgid "%F%S non constant expression for %s\n" |
|
#~ msgstr "%F%S expresión no constante para %s\n" |
|
#~ msgid "%P%F: out of memory during initialization" |
|
#~ msgstr "%P%F: memoria agotada durante la inicialización" |
|
#~ msgid "%P%F: -static and -shared may not be used together\n" |
#~ msgstr "%P%F: no se pueden usar juntos -static y -shared\n" |
2290,10 → 2291,10
#~ msgstr "%P%X: generado" |
|
#~ msgid "%F%P: %s uses undefined section %s\n" |
|
#~ msgstr "%F%P: %s usa la sección sin definir %s\n" |
|
#~ msgid "%F%P: %s forward reference of section %s\n" |
|
#~ msgstr "%F%P: %s es una referencia hacia adelante de la sección %s\n" |
|
#~ msgid "%F%P: cannot open %s for %s: %E\n" |
#~ msgstr "%F%P: no se puede abrir %s para %s: %E\n" |
2308,10 → 2309,10
#~ msgstr "%P%F: arquitectura destino reespecificada\n" |
|
#~ msgid "%P: %B: warning: ignoring duplicate `%s' section symbol `%s'\n" |
|
#~ msgstr "%P: %B: aviso: ignorando el símbolo duplicado `%s' de la sección `%s'\n" |
|
#~ msgid "%P: %B: warning: duplicate section `%s' has different size\n" |
|
#~ msgstr "%P: %B: aviso: la sección duplicada `%s' tiene tamaño diferente\n" |
|
#~ msgid "%P: no [COMMON] command, defaulting to .bss\n" |
#~ msgstr "%P: no hay una orden [COMMON], usando .bss por defecto\n" |
2320,10 → 2321,10
#~ msgstr "%P%F: no se pueden usar juntos -r y --mpc860c0\n" |
|
#~ msgid "Allow no undefined symbols" |
|
#~ msgstr "No permitir símbolos sin definir" |
|
#~ msgid "Allow undefined symbols in shared objects (the default)" |
|
#~ msgstr "Permitir símbolos sin definir en objetos compartidos (por defecto)" |
|
#~ msgid "[=WORDS]" |
#~ msgstr "[=PALABRAS]" |
2332,23 → 2333,23
#~ "Modify problematic branches in last WORDS (1-10,\n" |
#~ "\t\t\t\tdefault 5) words of a page" |
#~ msgstr "" |
|
|
#~ "Modificar las ramificaciones problemáticas en las últimas PALABRAS (1-10,\n" |
#~ "\t\t\t5 por defecto) palabras de una página" |
|
#~ msgid "%P%F: invalid argument to option \"mpc860c0\"\n" |
|
#~ msgstr "%P%F: Argumento inválido para la opción \"mpc860c0\"\n" |
|
#~ msgid " create __imp_<SYMBOL> as well.\n" |
|
#~ msgstr " creando también __imp_<SÍMBOLO>.\n" |
|
#~ msgid " --dll-search-prefix=<string> When linking dynamically to a dll witout an\n" |
|
#~ msgstr " --dll-search-prefix=<cadena> Al enlazar dinámicamente con una dll sin una\n" |
|
#~ msgid " importlib, use <string><basename>.dll \n" |
|
#~ msgstr " biblioteca de importación, usar <cadena><nombrebase>.dll\n" |
|
#~ msgid "Archive member included" |
|
#~ msgstr "Se incluyó el fichero miembro" |
|
#~ msgid "Don't merge orphan sections with the same name" |
|
#~ msgstr "No mezclar secciones huérfanas con el mismo nombre" |
/configure.tgt
186,23 → 186,23
i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; |
i[3-7]86-*-linux-*) targ_emul=elf_i386 |
targ_extra_emuls=i386linux |
targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om" |
targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om" |
targ64_extra_libpath=elf_x86_64 |
targ_extra_libpath=elf32_x86_64 |
tdir_i386linux=${targ_alias}aout ;; |
x86_64-*-linux-*) targ_emul=elf_x86_64 |
targ_extra_emuls="elf32_x86_64 elf_i386 i386linux elf_l1om" |
targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om" |
targ_extra_emuls="elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om" |
targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" |
tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` |
tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; |
i[3-7]86-*-sysv[45]*) targ_emul=elf_i386 ;; |
i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2 |
targ_extra_emuls="elf_i386_ldso elf_i386 elf_x86_64_sol2 elf_x86_64 elf_l1om" |
targ_extra_emuls="elf_i386_ldso elf_i386 elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om" |
targ_extra_libpath=$targ_extra_emuls |
;; |
x86_64-*-solaris2*) |
targ_emul=elf_x86_64_sol2 |
targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_l1om" |
targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_l1om elf_k1om" |
targ_extra_libpath=elf_i386 |
tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; |
i[3-7]86-*-unixware) targ_emul=elf_i386 ;; |
220,7 → 220,7
i[3-7]86-*-netbsd*) targ_emul=i386nbsd |
targ_extra_emuls=elf_i386 ;; |
x86_64-*-netbsd*) targ_emul=elf_x86_64 |
targ_extra_emuls="elf_i386 i386nbsd elf_l1om" |
targ_extra_emuls="elf_i386 i386nbsd elf_l1om elf_k1om" |
tdir_elf_i386=`echo ${targ_alias} | \ |
sed -e 's/x86_64/i386/'` |
case "${tdir_elf_i386}" in |
231,7 → 231,7
i[3-7]86-*-netware) targ_emul=i386nw ;; |
i[3-7]86-*-elf*) targ_emul=elf_i386 ;; |
x86_64-*-elf*) targ_emul=elf_x86_64 |
targ_extra_emuls="elf_i386 elf_l1om" |
targ_extra_emuls="elf_i386 elf_l1om elf_k1om" |
;; |
i[3-7]86-*-kaos*) targ_emul=elf_i386 ;; |
i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12]) |
239,13 → 239,13
i[3-7]86-*-dragonfly*) targ_emul=elf_i386 |
targ_extra_emuls="i386bsd" ;; |
x86_64-*-dragonfly*) targ_emul=elf_x86_64 |
targ_extra_emuls="elf_i386 elf_l1om" ;; |
targ_extra_emuls="elf_i386 elf_l1om elf_k1om" ;; |
i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) |
targ_emul=elf_i386_fbsd |
targ_extra_emuls="elf_i386 i386bsd" ;; |
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) |
targ_emul=elf_x86_64_fbsd |
targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_l1om elf_l1om_fbsd" |
targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_l1om elf_l1om_fbsd elf_k1om elf_k1om_fbsd" |
targ_extra_libpath="elf_i386_fbsd" |
tdir_elf_i386_fbsd=`echo ${targ_alias} \ |
| sed -e 's/x86_64/i386/'` |
/plugin.c
239,7 → 239,7
{ |
flagword flags; |
|
/* Create sections to own the symbols. */ |
/* Create section to own the symbols. */ |
flags = (SEC_CODE | SEC_HAS_CONTENTS | SEC_READONLY |
| SEC_ALLOC | SEC_LOAD | SEC_KEEP | SEC_EXCLUDE); |
if (bfd_make_section_anyway_with_flags (abfd, ".text", flags)) |
284,7 → 284,27
/* FALLTHRU */ |
case LDPK_DEF: |
flags |= BSF_GLOBAL; |
section = bfd_get_section_by_name (abfd, ".text"); |
if (ldsym->comdat_key) |
{ |
char *name = concat (".gnu.linkonce.t.", ldsym->comdat_key, |
(const char *) NULL); |
section = bfd_get_section_by_name (abfd, name); |
if (section != NULL) |
free (name); |
else |
{ |
flagword sflags; |
|
sflags = (SEC_CODE | SEC_HAS_CONTENTS | SEC_READONLY |
| SEC_ALLOC | SEC_LOAD | SEC_KEEP | SEC_EXCLUDE |
| SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD); |
section = bfd_make_section_anyway_with_flags (abfd, name, sflags); |
if (section == NULL) |
return LDPS_ERR; |
} |
} |
else |
section = bfd_get_section_by_name (abfd, ".text"); |
break; |
|
case LDPK_WEAKUNDEF: |
380,12 → 400,15
asymbol **symptrs; |
bfd *abfd = handle; |
int n; |
|
ASSERT (called_plugin); |
symptrs = xmalloc (nsyms * sizeof *symptrs); |
for (n = 0; n < nsyms; n++) |
{ |
enum ld_plugin_status rv; |
asymbol *bfdsym = bfd_make_empty_symbol (abfd); |
asymbol *bfdsym; |
|
bfdsym = bfd_make_empty_symbol (abfd); |
symptrs[n] = bfdsym; |
rv = asymbol_from_plugin_symbol (abfd, bfdsym, syms + n); |
if (rv != LDPS_OK) |
/Makefile.am
482,6 → 482,8
eelf64tilegx.c \ |
eelf_l1om.c \ |
eelf_l1om_fbsd.c \ |
eelf_k1om.c \ |
eelf_k1om_fbsd.c \ |
eelf_x86_64.c \ |
eelf_x86_64_fbsd.c \ |
eelf_x86_64_sol2.c \ |
893,6 → 895,14
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_be "$(tdir_elf32_tic6x_be)" |
eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_be "$(tdir_elf32_tic6x_elf_be)" |
eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_le "$(tdir_elf32_tic6x_elf_le)" |
eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
905,22 → 915,6
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_linux_le "$(tdir_elf32_tic6x_linux_le)" |
eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_be "$(tdir_elf32_tic6x_elf_be)" |
eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \ |
${GEN_DEPENDS} |
${GENSCRIPTS} elf32_tic6x_elf_le "$(tdir_elf32_tic6x_elf_le)" |
eelf32tilegx.c: $(srcdir)/emulparams/elf32tilegx.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ |
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf32tilegx "$(tdir_tilegx)" |
eelf32tilepro.c: $(srcdir)/emulparams/elf32tilepro.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ |
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf32tilepro "$(tdir_tilepro)" |
eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \ |
$(srcdir)/emulparams/elf32am33lin.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
1146,6 → 1140,14
eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf32rx "$(tdir_elf32rx)" |
eelf32tilegx.c: $(srcdir)/emulparams/elf32tilegx.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ |
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf32tilegx "$(tdir_tilegx)" |
eelf32tilepro.c: $(srcdir)/emulparams/elf32tilepro.sh \ |
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ |
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf32tilepro "$(tdir_tilepro)" |
eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf32vax "$(tdir_elf32vax)" |
1986,6 → 1988,13
$(srcdir)/emulparams/elf_l1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)" |
eelf_k1om.c: $(srcdir)/emulparams/elf_k1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_k1om "$(tdir_elf_k1om)" |
eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \ |
$(srcdir)/emulparams/elf_k1om.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_k1om_fbsd "$(tdir_elf_k1om_fbsd)" |
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \ |
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)" |
/ld.texinfo
1258,21 → 1258,20
@itemx --no-copy-dt-needed-entries |
This option affects the treatment of dynamic libraries referred to |
by DT_NEEDED tags @emph{inside} ELF dynamic libraries mentioned on the |
command line. Normally the linker will add a DT_NEEDED tag to the |
command line. Normally the linker won't add a DT_NEEDED tag to the |
output binary for each library mentioned in a DT_NEEDED tag in an |
input dynamic library. With @option{--no-copy-dt-needed-entries} |
input dynamic library. With @option{--copy-dt-needed-entries} |
specified on the command line however any dynamic libraries that |
follow it will have their DT_NEEDED entries ignored. The default |
behaviour can be restored with @option{--copy-dt-needed-entries}. |
follow it will have their DT_NEEDED entries added. The default |
behaviour can be restored with @option{--no-copy-dt-needed-entries}. |
|
This option also has an effect on the resolution of symbols in dynamic |
libraries. With the default setting dynamic libraries mentioned on |
the command line will be recursively searched, following their |
DT_NEEDED tags to other libraries, in order to resolve symbols |
required by the output binary. With |
@option{--no-copy-dt-needed-entries} specified however the searching |
of dynamic libraries that follow it will stop with the dynamic |
library itself. No DT_NEEDED links will be traversed to resolve |
libraries. With @option{--copy-dt-needed-entries} dynamic libraries |
mentioned on the command line will be recursively searched, following |
their DT_NEEDED tags to other libraries, in order to resolve symbols |
required by the output binary. With the default setting however |
the searching of dynamic libraries that follow it will stop with the |
dynamic library itself. No DT_NEEDED links will be traversed to resolve |
symbols. |
|
@cindex cross reference table |
1401,6 → 1400,13
be restored by specifying @samp{--no-print-gc-sections} on the command |
line. |
|
@kindex --print-output-format |
@cindex output format |
@item --print-output-format |
Print the name of the default output format (perhaps influenced by |
other command-line options). This is the string that would appear |
in an @code{OUTPUT_FORMAT} linker script command (@pxref{File Commands}). |
|
@cindex help |
@cindex usage |
@kindex --help |
2069,6 → 2075,12
Request creation of @code{.eh_frame_hdr} section and ELF |
@code{PT_GNU_EH_FRAME} segment header. |
|
@kindex --ld-generated-unwind-info |
@item --no-ld-generated-unwind-info |
Request creation of @code{.eh_frame} unwind info for linker |
generated code sections like PLT. This option is on by default |
if linker generated unwind info is supported. |
|
@kindex --enable-new-dtags |
@kindex --disable-new-dtags |
@item --enable-new-dtags |
3853,6 → 3865,26
data.o(.data) |
@end smallexample |
|
To refine the sections that are included based on the section flags |
of an input section, INPUT_SECTION_FLAGS may be used. |
|
Here is a simple example for using Section header flags for ELF sections: |
|
@smallexample |
@group |
SECTIONS @{ |
.text : @{ INPUT_SECTION_FLAGS (SHF_MERGE & SHF_STRINGS) *(.text) @} |
.text2 : @{ INPUT_SECTION_FLAGS (!SHF_WRITE) *(.text) @} |
@} |
@end group |
@end smallexample |
|
In this example, the output section @samp{.text} will be comprised of any |
input section matching the name *(.text) whose section header flags |
@code{SHF_MERGE} and @code{SHF_STRINGS} are set. The output section |
@samp{.text2} will be comprised of any input section matching the name *(.text) |
whose section header flag @code{SHF_WRITE} is clear. |
|
You can also specify files within archives by writing a pattern |
matching the archive, a colon, then the pattern matching the file, |
with no whitespace around the colon. |
6288,6 → 6320,18
the veneer. The extra cycles required to call and return from the veneer |
are sufficient to avoid the erratum in both the scalar and vector cases. |
|
@cindex ARM1176 erratum workaround |
@kindex --fix-arm1176 |
@kindex --no-fix-arm1176 |
The @samp{--fix-arm1176} switch enables a link-time workaround for an erratum |
in certain ARM1176 processors. The workaround is enabled by default if you |
are targetting ARM v6 (excluding ARM v6T2) or earlier. It can be disabled |
unconditionally by specifying @samp{--no-fix-arm1176}. |
|
Further information is available in the ``ARM1176JZ-S and ARM1176JZF-S |
Programmer Advice Notice'' available on the ARM documentaion website at: |
http://infocenter.arm.com/. |
|
@cindex NO_ENUM_SIZE_WARNING |
@kindex --no-enum-size-warning |
The @option{--no-enum-size-warning} switch prevents the linker from |