diff options
Diffstat (limited to 'ld')
221 files changed, 6603 insertions, 4504 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 7b03989..d2b7b93 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,52 @@ +2025-09-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.tgt <powerpc*-*-solaris*>: Remove. + +2025-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * emulparams/elf64_sparc.sh (TEXT_START_ADDR): Move ... + * emulparams/elf64_sparc_sol2.sh (TEXT_START_ADDR): ... here. + +2025-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/ld-shared/shared.exp (shared (non PIC)): Update + comment. xfail on 64-bit Solaris only. + (shared (PIC main, non PIC so)): Likewise. + (shared (non PIC, load offset)): Update comment. + +2025-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/ld-shared/shared.exp: Enable on *-*-solaris2* rather + than sparc*-*-solaris2* only. + +2025-08-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/ld-elfvers/vers.exp (vers26b3): Mark unsupported on + Linux/x86_64 and Solaris/amd64. + +2025-08-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * emultempl/solaris2.em (elf_solaris2_before_allocation): Mark + global symbols as generated by linker script. + * testsuite/ld-elfvers/vers.exp: Enable on *-*-solaris2* rather + than sparc*-*-solaris2* only. + +2025-08-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/ld-i386/libno-plt-1b.dd: Allow for positive GOT + offsets. + * testsuite/ld-i386/no-plt-1a.dd: Likewise. + * testsuite/ld-i386/no-plt-1b.dd: Likewise. + * testsuite/ld-i386/no-plt-1c.dd: Likewise. + * testsuite/ld-i386/no-plt-1e.dd: Likewise. + * testsuite/ld-i386/no-plt-1f.dd: Likewise. + * testsuite/ld-i386/no-plt-1g.dd: Likewise. + +2025-08-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * testsuite/ld-ctf/ctf.exp (ASFLAGS): Append -Av8plus on + sparc-*-*. + 2025-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * testsuite/ld-elfweak/elfweak.exp: Enable on *-*-solaris2* rather diff --git a/ld/Makefile.am b/ld/Makefile.am index 90897a7..c006448 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -373,8 +373,6 @@ ALL_EMULATION_SOURCES = \ ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@) ALL_64_EMULATION_SOURCES = \ - eaarch64cloudabi.c \ - eaarch64cloudabib.c \ eaarch64elf.c \ eaarch64elf32.c \ eaarch64elf32b.c \ @@ -457,7 +455,6 @@ ALL_64_EMULATION_SOURCES = \ eelf64tilegx_be.c \ eelf_mipsel_haiku.c \ eelf_x86_64.c \ - eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_haiku.c \ eelf_x86_64_sol2.c \ diff --git a/ld/Makefile.in b/ld/Makefile.in index b3d88f0..0acf5f4 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -113,8 +113,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \ $(top_srcdir)/../bfd/warning.m4 $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/bfd64.m4 \ + $(top_srcdir)/../config/clang-plugin.m4 \ $(top_srcdir)/../config/depstand.m4 \ $(top_srcdir)/../config/enable.m4 \ + $(top_srcdir)/../config/gcc-plugin.m4 \ $(top_srcdir)/../config/gettext-sister.m4 \ $(top_srcdir)/../config/gettext.m4 \ $(top_srcdir)/../config/iconv.m4 \ @@ -439,6 +441,7 @@ LIBTOOL = @LIBTOOL@ # when the linker is configured via the --with-lib-path configure switch. LIB_PATH = @LIB_PATH@ LIPO = @LIPO@ +LLVM_CONFIG = @LLVM_CONFIG@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ @@ -883,8 +886,6 @@ ALL_EMULATION_SOURCES = \ ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@) ALL_64_EMULATION_SOURCES = \ - eaarch64cloudabi.c \ - eaarch64cloudabib.c \ eaarch64elf.c \ eaarch64elf32.c \ eaarch64elf32b.c \ @@ -967,7 +968,6 @@ ALL_64_EMULATION_SOURCES = \ eelf64tilegx_be.c \ eelf_mipsel_haiku.c \ eelf_x86_64.c \ - eelf_x86_64_cloudabi.c \ eelf_x86_64_fbsd.c \ eelf_x86_64_haiku.c \ eelf_x86_64_sol2.c \ @@ -1267,8 +1267,6 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deffilep.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64cloudabi.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64cloudabib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32b.Po@am__quote@ @@ -1482,7 +1480,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_mipsel_haiku.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_s390.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@ @@ -1,5 +1,16 @@ -*- text -*- +* Add --gnu-tls-tag/--no-gnu-tls-tag options to i386 ELF linker to add + the GLIBC_ABI_GNU_TLS version dependency in output if input object + files call ___tls_get_addr. Also added --enable-gnu-tls-tag configure + option to enable --gnu-tls-tag by default. + +* Add --gnu2-tls-tag/--no-gnu2-tls-tag options to i386 and x86-64 ELF + linkers to add the GLIBC_ABI_GNU2_TLS version dependency in output if + input object files have R_386_TLS_DESC_CALL or R_X86_64_TLSDESC_CALL + relocation. Also added --enable-gnu2-tls-tag configure option to + enable --gnu2-tls-tag by default. + * NaCl target support is removed. Changes in 2.45: diff --git a/ld/aclocal.m4 b/ld/aclocal.m4 index 01c2dc2..77cc098 100644 --- a/ld/aclocal.m4 +++ b/ld/aclocal.m4 @@ -1189,8 +1189,10 @@ m4_include([../bfd/acinclude.m4]) m4_include([../bfd/warning.m4]) m4_include([../config/acx.m4]) m4_include([../config/bfd64.m4]) +m4_include([../config/clang-plugin.m4]) m4_include([../config/depstand.m4]) m4_include([../config/enable.m4]) +m4_include([../config/gcc-plugin.m4]) m4_include([../config/gettext-sister.m4]) m4_include([../config/gettext.m4]) m4_include([../config/iconv.m4]) diff --git a/ld/config.in b/ld/config.in index 3781224..790efd3 100644 --- a/ld/config.in +++ b/ld/config.in @@ -31,6 +31,14 @@ when a .note-GNU-stack section is missing. */ #undef DEFAULT_LD_EXECSTACK +/* Define to 1 if you want to enable --gnu2-tls-tag in ELF i386/x86-64 linker + by default. */ +#undef DEFAULT_LD_GNU2_TLS_TAG + +/* Define to 1 if you want to enable --gnu-tls-tag in ELF i386 linker by + default. */ +#undef DEFAULT_LD_GNU_TLS_TAG + /* Define to 1 if you want to enable --rosegment in the ELF linker by default. */ #undef DEFAULT_LD_ROSEGMENT diff --git a/ld/configure b/ld/configure index 124b441..11c17f2 100755 --- a/ld/configure +++ b/ld/configure @@ -705,6 +705,7 @@ NMEDIT DSYMUTIL RANLIB AR +LLVM_CONFIG OBJDUMP LN_S NM @@ -851,6 +852,8 @@ enable_textrel_check enable_separate_code enable_rosegment enable_mark_plt +enable_gnu2_tls_tag +enable_gnu_tls_tag enable_memory_seal enable_warn_execstack enable_error_execstack @@ -1548,6 +1551,9 @@ Optional Features: --enable-separate-code enable -z separate-code in ELF linker by default --enable-rosegment enable --rosegment in the ELF linker by default --enable-mark-plt enable -z mark-plt in ELF x86-64 linker by default + --enable-gnu2-tls-tag enable --gnu2-tls-tag in ELF i386/x86-64 linker by + default + --enable-gnu-tls-tag enable --gnu-tls-tag in ELF i386 linker by default --enable-memory-seal enable -z memory-seal in ELF linker by default --enable-warn-execstack enable warnings when creating an executable stack --enable-error-execstack @@ -6530,8 +6536,266 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown -plugin_option= + +# Try CLANG_PLUGIN_FILE first since GCC_PLUGIN_OPTION may return the +# wrong plugin_option with clang. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clang" >&5 +$as_echo_n "checking for clang... " >&6; } +if ${clang_cv_is_clang+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __clang__ + yes +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + clang_cv_is_clang=yes +else + clang_cv_is_clang=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $clang_cv_is_clang" >&5 +$as_echo "$clang_cv_is_clang" >&6; } + plugin_file= + if test $clang_cv_is_clang = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clang plugin file" >&5 +$as_echo_n "checking for clang plugin file... " >&6; } + plugin_names="LLVMgold.so" + for plugin in $plugin_names; do + plugin_file=`${CC} ${CFLAGS} --print-file-name $plugin` + if test x$plugin_file = x$plugin; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}llvm-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}llvm-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LLVM_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LLVM_CONFIG"; then + ac_cv_prog_LLVM_CONFIG="$LLVM_CONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LLVM_CONFIG="${ac_tool_prefix}llvm-config" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LLVM_CONFIG=$ac_cv_prog_LLVM_CONFIG +if test -n "$LLVM_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LLVM_CONFIG" >&5 +$as_echo "$LLVM_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LLVM_CONFIG"; then + ac_ct_LLVM_CONFIG=$LLVM_CONFIG + # Extract the first word of "llvm-config", so it can be a program name with args. +set dummy llvm-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LLVM_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LLVM_CONFIG"; then + ac_cv_prog_ac_ct_LLVM_CONFIG="$ac_ct_LLVM_CONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LLVM_CONFIG="llvm-config" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LLVM_CONFIG=$ac_cv_prog_ac_ct_LLVM_CONFIG +if test -n "$ac_ct_LLVM_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LLVM_CONFIG" >&5 +$as_echo "$ac_ct_LLVM_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LLVM_CONFIG" = x; then + LLVM_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LLVM_CONFIG=$ac_ct_LLVM_CONFIG + fi +else + LLVM_CONFIG="$ac_cv_prog_LLVM_CONFIG" +fi + + if test "$?" != 0; then + as_fn_error $? "Required tool 'llvm-config' not found on PATH." "$LINENO" 5 + fi + clang_lib_dir=`$LLVM_CONFIG --libdir` + if test -f $clang_lib_dir/$plugin; then + plugin_file=$clang_lib_dir/$plugin + fi + if test x$plugin_file != x$plugin; then + break; + fi + fi + done + if test -z $plugin_file; then + as_fn_error $? "Couldn't find clang plugin file for $CC." "$LINENO" 5 + fi + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + if test "${AR}" = "" ; then + as_fn_error $? "Required archive tool 'ar' not found on PATH." "$LINENO" 5 + fi + plugin_option="--plugin $plugin_file" + touch conftest.c + ${AR} $plugin_option rc conftest.a conftest.c + if test "$?" != 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5 +$as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;} + plugin_file= + fi + rm -f conftest.* + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $plugin_file" >&5 +$as_echo "$plugin_file" >&6; } + fi + plugin_file="$plugin_file" + +if test -n "$plugin_file"; then + plugin_option="--plugin $plugin_file" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -plugin option" >&5 +$as_echo_n "checking for -plugin option... " >&6; } + plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll" +plugin_option= for plugin in $plugin_names; do plugin_so=`${CC} ${CFLAGS} --print-prog-name $plugin` if test x$plugin_so = x$plugin; then @@ -6542,7 +6806,119 @@ for plugin in $plugin_names; do break fi done +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test "${AR}" = "" ; then + as_fn_error $? "Required archive tool 'ar' not found on PATH." "$LINENO" 5 +fi +touch conftest.c +${AR} $plugin_option rc conftest.a conftest.c +if test "$?" != 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5 +$as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;} + plugin_option= +fi +rm -f conftest.* +if test -n "$plugin_option"; then + plugin_option="$plugin_option" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $plugin_option" >&5 +$as_echo "$plugin_option" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 @@ -6637,17 +7013,15 @@ fi test -z "$AR" && AR=ar if test -n "$plugin_option"; then - if $AR --help 2>&1 | grep -q "\--plugin"; then - touch conftest.c - $AR $plugin_option rc conftest.a conftest.c - if test "$?" != 0; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed: $AR $plugin_option rc" >&5 -$as_echo "$as_me: WARNING: Failed: $AR $plugin_option rc" >&2;} - else + case "$AR" in + *"$plugin_option"*) + ;; + *) + if $AR --help 2>&1 | grep -q "\--plugin"; then AR="$AR $plugin_option" fi - rm -f conftest.* - fi + ;; + esac fi test -z "$AR_FLAGS" && AR_FLAGS=cru @@ -6854,9 +7228,15 @@ fi test -z "$RANLIB" && RANLIB=: if test -n "$plugin_option" && test "$RANLIB" != ":"; then - if $RANLIB --help 2>&1 | grep -q "\--plugin"; then - RANLIB="$RANLIB $plugin_option" - fi + case "$RANLIB" in + *"$plugin_option"*) + ;; + *) + if $RANLIB --help 2>&1 | grep -q "\--plugin"; then + RANLIB="$RANLIB $plugin_option" + fi + ;; + esac fi @@ -11514,7 +11894,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11517 "configure" +#line 11897 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11620,7 +12000,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11623 "configure" +#line 12003 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15507,6 +15887,29 @@ esac fi +# Decide if --gnu2-tls-tag should be enabled in ELF i386 and x86-64 +# linkers by default. +ac_default_ld_enable_gnu2_tls_tag=unset +# Check whether --enable-gnu2-tls-tag was given. +if test "${enable_gnu2_tls_tag+set}" = set; then : + enableval=$enable_gnu2_tls_tag; case "${enableval}" in + yes) ac_default_ld_enable_gnu2_tls_tag=1 ;; + no) ac_default_ld_enable_gnu2_tls_tag=0 ;; +esac +fi + + +# Decide if --gnu-tls-tag should be enabled in ELF i386 linker by default. +ac_default_ld_enable_gnu_tls_tag=unset +# Check whether --enable-gnu-tls-tag was given. +if test "${enable_gnu_tls_tag+set}" = set; then : + enableval=$enable_gnu_tls_tag; case "${enableval}" in + yes) ac_default_ld_enable_gnu_tls_tag=1 ;; + no) ac_default_ld_enable_gnu_tls_tag=0 ;; +esac +fi + + # Decide if -z memory-seal should be enabled in ELF linker by default. ac_default_ld_z_memory_seal=unset # Check whether --enable-memory-seal was given. @@ -18981,6 +19384,27 @@ cat >>confdefs.h <<_ACEOF _ACEOF +if test "${ac_default_ld_enable_gnu2_tls_tag}" = unset; then + # Default to enable --gnu2-tls-tag if libc.so has the GLIBC_ABI_GNU2_TLS + # version. + ac_default_ld_enable_gnu2_tls_tag=2 +fi + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_LD_GNU2_TLS_TAG $ac_default_ld_enable_gnu2_tls_tag +_ACEOF + + +if test "${ac_default_ld_enable_gnu_tls_tag}" = unset; then + # Default to enable --gnu-tls-tag if libc.so has the GLIBC_ABI_GNU_TLS + # version. + ac_default_ld_enable_gnu_tls_tag=2 +fi + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_LD_GNU_TLS_TAG $ac_default_ld_enable_gnu_tls_tag +_ACEOF + cat >>confdefs.h <<_ACEOF diff --git a/ld/configure.ac b/ld/configure.ac index e306c1d..3e44e33 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -245,6 +245,27 @@ AC_ARG_ENABLE(mark-plt, no) ac_default_ld_z_mark_plt=0 ;; esac]) +# Decide if --gnu2-tls-tag should be enabled in ELF i386 and x86-64 +# linkers by default. +ac_default_ld_enable_gnu2_tls_tag=unset +AC_ARG_ENABLE(gnu2-tls-tag, + AS_HELP_STRING([--enable-gnu2-tls-tag], + [enable --gnu2-tls-tag in ELF i386/x86-64 linker by default]), +[case "${enableval}" in + yes) ac_default_ld_enable_gnu2_tls_tag=1 ;; + no) ac_default_ld_enable_gnu2_tls_tag=0 ;; +esac]) + +# Decide if --gnu-tls-tag should be enabled in ELF i386 linker by default. +ac_default_ld_enable_gnu_tls_tag=unset +AC_ARG_ENABLE(gnu-tls-tag, + AS_HELP_STRING([--enable-gnu-tls-tag], + [enable --gnu-tls-tag in ELF i386 linker by default]), +[case "${enableval}" in + yes) ac_default_ld_enable_gnu_tls_tag=1 ;; + no) ac_default_ld_enable_gnu_tls_tag=0 ;; +esac]) + # Decide if -z memory-seal should be enabled in ELF linker by default. ac_default_ld_z_memory_seal=unset AC_ARG_ENABLE(memory-seal, @@ -646,6 +667,23 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_MEMORY_SEAL, $ac_default_ld_z_memory_seal, [Define to 1 if you want to enable -z memory_seal in ELF linker by default.]) +if test "${ac_default_ld_enable_gnu2_tls_tag}" = unset; then + # Default to enable --gnu2-tls-tag if libc.so has the GLIBC_ABI_GNU2_TLS + # version. + ac_default_ld_enable_gnu2_tls_tag=2 +fi +AC_DEFINE_UNQUOTED(DEFAULT_LD_GNU2_TLS_TAG, + $ac_default_ld_enable_gnu2_tls_tag, + [Define to 1 if you want to enable --gnu2-tls-tag in ELF i386/x86-64 linker by default.]) + +if test "${ac_default_ld_enable_gnu_tls_tag}" = unset; then + # Default to enable --gnu-tls-tag if libc.so has the GLIBC_ABI_GNU_TLS + # version. + ac_default_ld_enable_gnu_tls_tag=2 +fi +AC_DEFINE_UNQUOTED(DEFAULT_LD_GNU_TLS_TAG, + $ac_default_ld_enable_gnu_tls_tag, + [Define to 1 if you want to enable --gnu-tls-tag in ELF i386 linker by default.]) AC_DEFINE_UNQUOTED(DEFAULT_LD_WARN_EXECSTACK, $ac_default_ld_warn_execstack, diff --git a/ld/configure.tgt b/ld/configure.tgt index 3f49485..df31897 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -89,9 +89,6 @@ aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*) targ_emul=aarch64elf targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;; -aarch64-*-cloudabi*) targ_emul=aarch64cloudabi - targ_extra_emuls=aarch64cloudabib - ;; aarch64-*-freebsd*) targ_emul=aarch64fbsd targ_extra_emuls="aarch64fbsdb aarch64elf" ;; @@ -706,7 +703,7 @@ powerpc-*-vxworks*) powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \ | powerpc*-*-rtems* \ - | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*) + | powerpc*-*-kaos* | powerpc*-*-vxworks*) case "${targ}" in powerpc64*) targ_emul=elf64ppc @@ -992,8 +989,6 @@ visium-*-elf) targ_emul=elf32visium ;; x86_64-*-rdos*) targ_emul=elf64rdos ;; -x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi - ;; x86_64-*-haiku*) targ_emul=elf_x86_64_haiku targ_extra_emuls="elf_x86_64 elf_i386_haiku" ;; diff --git a/ld/emulparams/aarch64cloudabi.sh b/ld/emulparams/aarch64cloudabi.sh deleted file mode 100644 index 0e6f834..0000000 --- a/ld/emulparams/aarch64cloudabi.sh +++ /dev/null @@ -1,37 +0,0 @@ -ARCH=aarch64 -MACHINE= -NOP=0x1f2003d5 - -SCRIPT_NAME=elf -ELFSIZE=64 -OUTPUT_FORMAT="elf64-littleaarch64-cloudabi" -BIG_OUTPUT_FORMAT="elf64-bigaarch64-cloudabi" -LITTLE_OUTPUT_FORMAT="elf64-littleaarch64-cloudabi" -NO_REL_RELOCS=yes - -TEMPLATE_NAME=elf -EXTRA_EM_FILE=aarch64elf - -GENERATE_SHLIB_SCRIPT=yes -GENERATE_PIE_SCRIPT=yes - -MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" -COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" -SEPARATE_GOTPLT=24 -IREL_IN_PLT= - -TEXT_START_ADDR=0x400000 - -DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; - -# AArch64 does not support .s* sections. -NO_SMALL_DATA=yes - -OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" -OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" -OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" - -OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' -ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' -# Ensure each PLT entry is aligned to a cache line. -PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${RELOCATING+${IREL_IN_PLT+ *(.iplt)}} }" diff --git a/ld/emulparams/aarch64cloudabib.sh b/ld/emulparams/aarch64cloudabib.sh deleted file mode 100644 index a7d1b62..0000000 --- a/ld/emulparams/aarch64cloudabib.sh +++ /dev/null @@ -1,2 +0,0 @@ -source_sh ${srcdir}/emulparams/aarch64cloudabi.sh -OUTPUT_FORMAT="elf64-bigaarch64-cloudabi" diff --git a/ld/emulparams/elf32_x86_64.sh b/ld/emulparams/elf32_x86_64.sh index 6a92eec..8a07f50 100644 --- a/ld/emulparams/elf32_x86_64.sh +++ b/ld/emulparams/elf32_x86_64.sh @@ -20,7 +20,7 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH="i386:x64-32" MACHINE= TEMPLATE_NAME=elf -EXTRA_EM_FILE="elf-x86" +EXTRA_EM_FILE="elf-x86-64-glibc" GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes @@ -33,6 +33,8 @@ OTHER_PLT_SECTIONS=" .plt.got ${RELOCATING-0} : { *(.plt.got) } .plt.sec ${RELOCATING-0} : { *(.plt.sec) } " +OTHER_GOT_RELOC_SECTIONS=" + .rela.tls ${RELOCATING-0} : { *(.rela.tls) }" if [ "x${host}" = "x${target}" ]; then case " $EMULATION_LIBPATH " in diff --git a/ld/emulparams/elf64_sparc.sh b/ld/emulparams/elf64_sparc.sh index 8ae29ad..afbf2e6 100644 --- a/ld/emulparams/elf64_sparc.sh +++ b/ld/emulparams/elf64_sparc.sh @@ -12,15 +12,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NOP=0x01000000 NO_SMALL_DATA=yes - -case "$target" in - sparc*-solaris*) - TEXT_START_ADDR=0x100000000 - ;; - *) - TEXT_START_ADDR=0x100000 - ;; -esac +TEXT_START_ADDR=0x100000 # Treat a host that matches the target with the possible exception of "64" # and "v7", "v8", "v9" in the name as if it were native. diff --git a/ld/emulparams/elf64_sparc_sol2.sh b/ld/emulparams/elf64_sparc_sol2.sh index b32c5be..e17f787 100644 --- a/ld/emulparams/elf64_sparc_sol2.sh +++ b/ld/emulparams/elf64_sparc_sol2.sh @@ -1,4 +1,5 @@ source_sh ${srcdir}/emulparams/elf64_sparc.sh source_sh ${srcdir}/emulparams/solaris2.sh +TEXT_START_ADDR=0x100000000 EXTRA_EM_FILE=solaris2 OUTPUT_FORMAT="elf64-sparc-sol2" diff --git a/ld/emulparams/elf_i386.sh b/ld/emulparams/elf_i386.sh index 6f698bb..12d71f5 100644 --- a/ld/emulparams/elf_i386.sh +++ b/ld/emulparams/elf_i386.sh @@ -17,7 +17,7 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH=i386 MACHINE= TEMPLATE_NAME=elf -EXTRA_EM_FILE="elf-x86" +EXTRA_EM_FILE="elf-i386-glibc" GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes @@ -28,6 +28,8 @@ OTHER_PLT_SECTIONS=" .plt.got ${RELOCATING-0} : { *(.plt.got) } .plt.sec ${RELOCATING-0} : { *(.plt.sec) } " +OTHER_GOT_RELOC_SECTIONS=" + .rel.tls ${RELOCATING-0} : { *(.rel.tls) }" # Linux modify the default library search path to first include # a 32-bit specific directory. diff --git a/ld/emulparams/elf_i386_fbsd.sh b/ld/emulparams/elf_i386_fbsd.sh index d1d6604..d39a5cf 100644 --- a/ld/emulparams/elf_i386_fbsd.sh +++ b/ld/emulparams/elf_i386_fbsd.sh @@ -1,3 +1,4 @@ source_sh ${srcdir}/emulparams/elf_i386.sh source_sh ${srcdir}/emulparams/elf_fbsd.sh +EXTRA_EM_FILE="elf-x86" OUTPUT_FORMAT="elf32-i386-freebsd" diff --git a/ld/emulparams/elf_i386_haiku.sh b/ld/emulparams/elf_i386_haiku.sh index 6c4001e..c931c0e 100644 --- a/ld/emulparams/elf_i386_haiku.sh +++ b/ld/emulparams/elf_i386_haiku.sh @@ -1,5 +1,6 @@ source_sh ${srcdir}/emulparams/elf_i386.sh source_sh ${srcdir}/emulparams/elf_haiku.sh +EXTRA_EM_FILE="elf-x86" TEXT_START_ADDR=0x200000 NONPAGED_TEXT_START_ADDR=0x200000 MAXPAGESIZE=0x1000 diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh index 9244974..4bab148 100644 --- a/ld/emulparams/elf_x86_64.sh +++ b/ld/emulparams/elf_x86_64.sh @@ -21,7 +21,7 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH="i386:x86-64" MACHINE= TEMPLATE_NAME=elf -EXTRA_EM_FILE="elf-x86" +EXTRA_EM_FILE="elf-x86-64-glibc" GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes @@ -34,6 +34,8 @@ OTHER_PLT_SECTIONS=" .plt.got ${RELOCATING-0} : { *(.plt.got) } .plt.sec ${RELOCATING-0} : { *(.plt.sec) } " +OTHER_GOT_RELOC_SECTIONS=" + .rela.tls ${RELOCATING-0} : { *(.rela.tls) }" if [ "x${host}" = "x${target}" ]; then case " $EMULATION_LIBPATH " in diff --git a/ld/emulparams/elf_x86_64_cloudabi.sh b/ld/emulparams/elf_x86_64_cloudabi.sh deleted file mode 100644 index 1f8732e..0000000 --- a/ld/emulparams/elf_x86_64_cloudabi.sh +++ /dev/null @@ -1,2 +0,0 @@ -source_sh ${srcdir}/emulparams/elf_x86_64.sh -OUTPUT_FORMAT="elf64-x86-64-cloudabi" diff --git a/ld/emulparams/elf_x86_64_fbsd.sh b/ld/emulparams/elf_x86_64_fbsd.sh index 7ef974a..17fdc83 100644 --- a/ld/emulparams/elf_x86_64_fbsd.sh +++ b/ld/emulparams/elf_x86_64_fbsd.sh @@ -1,3 +1,4 @@ source_sh ${srcdir}/emulparams/elf_x86_64.sh source_sh ${srcdir}/emulparams/elf_fbsd.sh +EXTRA_EM_FILE="elf-x86-64" OUTPUT_FORMAT="elf64-x86-64-freebsd" diff --git a/ld/emulparams/elf_x86_64_haiku.sh b/ld/emulparams/elf_x86_64_haiku.sh index e6231cd..7b03384 100644 --- a/ld/emulparams/elf_x86_64_haiku.sh +++ b/ld/emulparams/elf_x86_64_haiku.sh @@ -1,2 +1,3 @@ source_sh ${srcdir}/emulparams/elf_x86_64.sh source_sh ${srcdir}/emulparams/elf_haiku.sh +EXTRA_EM_FILE="elf-x86-64" diff --git a/ld/emulparams/elf_x86_64_sol2.sh b/ld/emulparams/elf_x86_64_sol2.sh index 2bd709d..d1d3cc7 100644 --- a/ld/emulparams/elf_x86_64_sol2.sh +++ b/ld/emulparams/elf_x86_64_sol2.sh @@ -1,4 +1,4 @@ source_sh ${srcdir}/emulparams/elf_x86_64.sh source_sh ${srcdir}/emulparams/solaris2.sh -EXTRA_EM_FILE="solaris2-x86" +EXTRA_EM_FILE="solaris2-x86-64" OUTPUT_FORMAT="elf64-x86-64-sol2" diff --git a/ld/emultempl/elf-i386-glibc.em b/ld/emultempl/elf-i386-glibc.em new file mode 100644 index 0000000..26a7296 --- /dev/null +++ b/ld/emultempl/elf-i386-glibc.em @@ -0,0 +1,77 @@ +# This shell script emits a C file. -*- C -*- +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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; see the file COPYING3. If not, +# see <http://www.gnu.org/licenses/>. +# + +# This file is sourced from elf.em, and defines i386 glibc specific +# routines. +# + +source_em ${srcdir}/emultempl/elf-x86.em +source_em ${srcdir}/emultempl/elf-x86-glibc.em + +# Define some shell vars to insert bits of code into the standard elf +# parse_args and list_options functions. +# + +fragment <<EOF +static void +elf_i386_glibc_before_parse (void) +{ + elf_x86_before_parse (); + elf_x86_glibc_before_parse (); + params.gnu_tls_version_tag = DEFAULT_LD_GNU_TLS_TAG; +} +EOF + +LDEMUL_BEFORE_PARSE=elf_i386_glibc_before_parse + +PARSE_AND_LIST_LONGOPTS_386=' + { "gnu-tls-tag", no_argument, NULL, OPTION_GNU_TLS_VERSION_TAG }, + { "no-gnu-tls-tag", no_argument, NULL, OPTION_NO_GNU_TLS_VERSION_TAG }, +' + +PARSE_AND_LIST_OPTIONS_386=' + if (DEFAULT_LD_GNU_TLS_TAG == 0) + fprintf (file, _("\ + --gnu-tls-tag Add GLIBC_ABI_GNU_TLS dependency\n\ + --no-gnu-tls-tag Do not add GLIBC_ABI_GNU_TLS dependency (default)\n")); + else if (DEFAULT_LD_GNU_TLS_TAG == 1) + fprintf (file, _("\ + --gnu-tls-tag Add GLIBC_ABI_GNU_TLS dependency (default)\n\ + --no-gnu-tls-tag Do not add GLIBC_ABI_GNU_TLS dependency\n")); + else + fprintf (file, _("\ + --gnu-tls-tag Add GLIBC_ABI_GNU_TLS dependency (auto)\n\ + when no options are specified (default)\n\ + --no-gnu-tls-tag Do not add GLIBC_ABI_GNU_TLS dependency\n")); +' + +PARSE_AND_LIST_ARGS_CASES_386=' + case OPTION_GNU_TLS_VERSION_TAG: + params.gnu_tls_version_tag = 1; + break; + + case OPTION_NO_GNU_TLS_VERSION_TAG: + params.gnu_tls_version_tag = 0; + break; +' + +PARSE_AND_LIST_LONGOPTS="$PARSE_AND_LIST_LONGOPTS $PARSE_AND_LIST_LONGOPTS_386" +PARSE_AND_LIST_OPTIONS="$PARSE_AND_LIST_OPTIONS $PARSE_AND_LIST_OPTIONS_386" +PARSE_AND_LIST_ARGS_CASES="$PARSE_AND_LIST_ARGS_CASES $PARSE_AND_LIST_ARGS_CASES_386" diff --git a/ld/emultempl/elf-x86-64-glibc.em b/ld/emultempl/elf-x86-64-glibc.em new file mode 100644 index 0000000..1e62d4f --- /dev/null +++ b/ld/emultempl/elf-x86-64-glibc.em @@ -0,0 +1,37 @@ +# This shell script emits a C file. -*- C -*- +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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; see the file COPYING3. If not, +# see <http://www.gnu.org/licenses/>. +# + +# This file is sourced from elf.em, and defines x86-64 glibc specific +# routines. +# + +source_em ${srcdir}/emultempl/elf-x86-64.em +source_em ${srcdir}/emultempl/elf-x86-glibc.em + +fragment <<EOF +static void +elf_x86_64_glibc_before_parse (void) +{ + elf_x86_64_before_parse (); + elf_x86_glibc_before_parse (); +} +EOF + +LDEMUL_BEFORE_PARSE=elf_x86_64_glibc_before_parse diff --git a/ld/emultempl/elf-x86-64.em b/ld/emultempl/elf-x86-64.em new file mode 100644 index 0000000..ca7ccc0 --- /dev/null +++ b/ld/emultempl/elf-x86-64.em @@ -0,0 +1,68 @@ +# This shell script emits a C file. -*- C -*- +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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; see the file COPYING3. If not, +# see <http://www.gnu.org/licenses/>. +# + +# This file is sourced from elf.em, and defines x86-64 specific routines. +# + +source_em ${srcdir}/emultempl/elf-x86.em + +fragment <<EOF +static void +elf_x86_64_before_parse (void) +{ + params.mark_plt = DEFAULT_LD_Z_MARK_PLT; + + elf_x86_before_parse (); +} + +static void +elf_x86_64_before_allocation (void) +{ + if (!bfd_link_relocatable (&link_info) + && is_elf_hash_table (link_info.hash) + && expld.phase != lang_mark_phase_enum) + { + struct elf_link_hash_table *htab = elf_hash_table (&link_info); + /* Run one_lang_size_sections_pass to estimate the output section + layout before sizing dynamic sections. */ + expld.dataseg.phase = exp_seg_none; + expld.phase = lang_mark_phase_enum; + /* NB: Exclude linker created GOT setions when estimating output + section layout as sizing dynamic sections may change linker + created GOT sections. */ + if (htab->sgot != NULL) + htab->sgot->flags |= SEC_EXCLUDE; + if (htab->sgotplt != NULL) + htab->sgotplt->flags |= SEC_EXCLUDE; + one_lang_size_sections_pass (NULL, false); + /* Restore linker created GOT setions. */ + if (htab->sgot != NULL) + htab->sgot->flags &= ~SEC_EXCLUDE; + if (htab->sgotplt != NULL) + htab->sgotplt->flags &= ~SEC_EXCLUDE; + lang_reset_memory_regions (); + } + + gld${EMULATION_NAME}_before_allocation (); +} +EOF + +LDEMUL_BEFORE_PARSE=elf_x86_64_before_parse +LDEMUL_BEFORE_ALLOCATION=elf_x86_64_before_allocation diff --git a/ld/emultempl/elf-x86-glibc.em b/ld/emultempl/elf-x86-glibc.em new file mode 100644 index 0000000..0fc37a6 --- /dev/null +++ b/ld/emultempl/elf-x86-glibc.em @@ -0,0 +1,70 @@ +# This shell script emits a C file. -*- C -*- +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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; see the file COPYING3. If not, +# see <http://www.gnu.org/licenses/>. +# + +# This file is sourced from elf.em, and defines x86 glibc specific +# routines. +# + +fragment <<EOF +static void +elf_x86_glibc_before_parse (void) +{ + params.gnu2_tls_version_tag = DEFAULT_LD_GNU2_TLS_TAG; +} +EOF + +# Define some shell vars to insert bits of code into the standard elf +# parse_args and list_options functions. +# + +PARSE_AND_LIST_LONGOPTS_X86=' + { "gnu2-tls-tag", no_argument, NULL, OPTION_GNU2_TLS_VERSION_TAG }, + { "no-gnu2-tls-tag", no_argument, NULL, OPTION_NO_GNU2_TLS_VERSION_TAG }, +' + +PARSE_AND_LIST_OPTIONS_X86=' + if (DEFAULT_LD_GNU2_TLS_TAG == 0) + fprintf (file, _("\ + --gnu2-tls-tag Add GNU2_ABI_GNU2_TLS dependency\n\ + --no-gnu2-tls-tag Do not add GNU2_ABI_GNU2_TLS dependency (default)\n")); + else if (DEFAULT_LD_GNU2_TLS_TAG == 1) + fprintf (file, _("\ + --gnu2-tls-tag Add GNU2_ABI_GNU2_TLS dependency (default)\n\ + --no-gnu2-tls-tag Do not add GNU2_ABI_GNU2_TLS dependency\n")); + else + fprintf (file, _("\ + --gnu2-tls-tag Add GNU2_ABI_GNU2_TLS dependency (auto)\n\ + when no options are specified (default)\n\ + --no-gnu2-tls-tag Do not add GNU2_ABI_GNU2_TLS dependency\n")); +' + +PARSE_AND_LIST_ARGS_CASES_X86=' + case OPTION_GNU2_TLS_VERSION_TAG: + params.gnu2_tls_version_tag = 1; + break; + + case OPTION_NO_GNU2_TLS_VERSION_TAG: + params.gnu2_tls_version_tag = 0; + break; +' + +PARSE_AND_LIST_LONGOPTS="$PARSE_AND_LIST_LONGOPTS $PARSE_AND_LIST_LONGOPTS_X86" +PARSE_AND_LIST_OPTIONS="$PARSE_AND_LIST_OPTIONS $PARSE_AND_LIST_OPTIONS_X86" +PARSE_AND_LIST_ARGS_CASES="$PARSE_AND_LIST_ARGS_CASES $PARSE_AND_LIST_ARGS_CASES_X86" diff --git a/ld/emultempl/elf-x86.em b/ld/emultempl/elf-x86.em index f72a0cd..411a4d6 100644 --- a/ld/emultempl/elf-x86.em +++ b/ld/emultempl/elf-x86.em @@ -56,61 +56,3 @@ EOF LDEMUL_BEFORE_PARSE=elf_x86_before_parse fi - -case x${OUTPUT_FORMAT}${CALL_NOP_BYTE} in - x*x86-64*0x67) -fragment <<EOF - -static void -elf_x86_64_before_parse (void) -{ - params.mark_plt = DEFAULT_LD_Z_MARK_PLT; - - elf_x86_before_parse (); -} -EOF - - LDEMUL_BEFORE_PARSE=elf_x86_64_before_parse - ;; -esac - -case x${OUTPUT_FORMAT} in - x*x86-64*) -fragment <<EOF - -static void -elf_x86_64_before_allocation (void) -{ - if (!bfd_link_relocatable (&link_info) - && is_elf_hash_table (link_info.hash) - && expld.phase != lang_mark_phase_enum) - { - struct elf_link_hash_table *htab = elf_hash_table (&link_info); - /* Run one_lang_size_sections_pass to estimate the output section - layout before sizing dynamic sections. */ - expld.dataseg.phase = exp_seg_none; - expld.phase = lang_mark_phase_enum; - /* NB: Exclude linker created GOT setions when estimating output - section layout as sizing dynamic sections may change linker - created GOT sections. */ - if (htab->sgot != NULL) - htab->sgot->flags |= SEC_EXCLUDE; - if (htab->sgotplt != NULL) - htab->sgotplt->flags |= SEC_EXCLUDE; - one_lang_size_sections_pass (NULL, false); - /* Restore linker created GOT setions. */ - if (htab->sgot != NULL) - htab->sgot->flags &= ~SEC_EXCLUDE; - if (htab->sgotplt != NULL) - htab->sgotplt->flags &= ~SEC_EXCLUDE; - lang_reset_memory_regions (); - } - - gld${EMULATION_NAME}_before_allocation (); -} - -EOF - -LDEMUL_BEFORE_ALLOCATION=elf_x86_64_before_allocation - ;; -esac diff --git a/ld/emultempl/solaris2-x86-64.em b/ld/emultempl/solaris2-x86-64.em new file mode 100644 index 0000000..788b3cf --- /dev/null +++ b/ld/emultempl/solaris2-x86-64.em @@ -0,0 +1,23 @@ +# This shell script emits a C file. -*- C -*- +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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. +# + +source_em "${srcdir}/emultempl/elf-x86-64.em" +source_em "${srcdir}/emultempl/solaris2.em" diff --git a/ld/emultempl/solaris2.em b/ld/emultempl/solaris2.em index 6198a82..29a436e 100644 --- a/ld/emultempl/solaris2.em +++ b/ld/emultempl/solaris2.em @@ -117,6 +117,11 @@ elf_solaris2_before_allocation (void) /* Create a version pattern for this symbol. Some of them start off as local, others as global, so try both. */ globals = lang_new_vers_pattern (globals, *sym, NULL, true); + + /* Treat basever symbols as if from a linker script to + appease --no-undefined-version. */ + globals->script = 1; + locals = lang_new_vers_pattern (locals, *sym, NULL, true); } @@ -1745,6 +1745,34 @@ Supported for Linux/i386 and Linux/x86_64. Other keywords are ignored for Solaris compatibility. +@item --gnu-tls-tag +@itemx --no-gnu-tls-tag +Add @code{GLIBC_ABI_GNU_TLS} version tag dependency in output programs +and shared libraries when linking against glibc if input relocatable +object files call @code{___tls_get_addr}. The output will fail to load +and run at run-time against glibc which doesn't define the +@code{GLIBC_ABI_GNU_TLS} version tag. Unless disabled by the +@option{--disable-gnu-tls-tag} configure option at the linker build +time, when no options are specified, linker will add the +@code{GLIBC_ABI_GNU_TLS} version tag dependency if inputs have +@code{___tls_get_addr} call and libc.so defines the +@code{GLIBC_ABI_GNU_TLS} version tag. Supported for Linux/i386. + +@item --gnu2-tls-tag +@itemx --no-gnu2-tls-tag +Add @code{GLIBC_ABI_GNU2_TLS} version tag dependency in output programs +and shared libraries when linking against glibc if input relocatable +object files have @code{R_386_TLS_DESC_CALL} or +@code{R_X86_64_TLSDESC_CALL} relocation. The output will fail to load +and run at run-time against glibc which doesn't define the +@code{GLIBC_ABI_GNU2_TLS} version tag. Unless disabled by the +@option{--disable-gnu2-tls-tag} configure option at the linker build +time, when no options are specified, linker will add the +@code{GLIBC_ABI_GNU2_TLS} version tag dependency if inputs have +@code{R_386_TLS_DESC_CALL} or @code{R_X86_64_TLSDESC_CALL} relocation +and libc.so defines the @code{GLIBC_ABI_GNU2_TLS} version tag. +Supported for Linux/i386 and Linux/x86_64. + @kindex -( @cindex groups of archives @item -( @var{archives} -) diff --git a/ld/ldfile.c b/ld/ldfile.c index e642c7f..83591fe 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -35,9 +35,8 @@ #include "libiberty.h" #include "filenames.h" #include <fnmatch.h> -#if BFD_SUPPORTS_PLUGINS +#include "same-inode.h" #include "plugin.h" -#endif /* BFD_SUPPORTS_PLUGINS */ bool ldfile_assumed_script = false; const char *ldfile_output_machine_name = ""; @@ -365,9 +364,7 @@ ldfile_try_open_bfd (const char *attempt, } /* PR 30568: Do not track lto generated temporary object files. */ -#if BFD_SUPPORTS_PLUGINS if (!entry->flags.lto_output) -#endif track_dependency_files (attempt); /* Linker needs to decompress sections. */ @@ -376,10 +373,8 @@ ldfile_try_open_bfd (const char *attempt, /* This is a linker input BFD. */ entry->the_bfd->is_linker_input = 1; -#if BFD_SUPPORTS_PLUGINS if (entry->flags.lto_output) entry->the_bfd->lto_output = 1; -#endif /* If we are searching for this file, see if the architecture is compatible with the output file. If it isn't, keep searching. @@ -517,7 +512,6 @@ ldfile_try_open_bfd (const char *attempt, } } success: -#if BFD_SUPPORTS_PLUGINS /* If plugins are active, they get first chance to claim any successfully-opened input file. We skip archives here; the plugin wants us to offer it the individual @@ -533,7 +527,6 @@ ldfile_try_open_bfd (const char *attempt, plugin_maybe_claim (entry); else cmdline_check_object_only_section (entry->the_bfd, false); -#endif /* BFD_SUPPORTS_PLUGINS */ /* It opened OK, the format checked out, and the plugins have had their chance to claim it, so this is success. */ @@ -828,19 +821,26 @@ find_scripts_dir (void) static FILE * ldfile_find_command_file (const char *name, - bool default_only, + enum script_open_style open_how, bool *sysrooted) { search_dirs_type *search; FILE *result = NULL; - char *path; + char *path = NULL; + const char *filename = NULL; + struct script_name_list *script; + size_t len; + struct stat sbuf1; - if (!default_only) + if (open_how != script_defaultT) { /* First try raw name. */ result = try_open (name, sysrooted); if (result != NULL) - return result; + { + filename = name; + goto success; + } } if (!script_search) @@ -861,20 +861,50 @@ ldfile_find_command_file (const char *name, *search_tail_ptr = script_search; /* Try now prefixes. */ - for (search = default_only ? script_search : search_head; + for (search = open_how == script_defaultT ? script_search : search_head; search != NULL; search = search->next) { path = concat (search->name, slash, name, (const char *) NULL); result = try_open (path, sysrooted); - free (path); if (result) - break; + { + filename = path; + break; + } } /* Restore the original path list. */ *search_tail_ptr = NULL; + if (!filename) + return NULL; + + success: + /* PR 24576: Catch the case where the user has accidentally included + the same linker script twice. */ + if (stat (filename, &sbuf1) == 0) + { + struct stat sbuf2; + for (script = processed_scripts; + script != NULL; + script = script->next) + if ((open_how != script_nonT || script->open_how != script_nonT) + && stat (script->name, &sbuf2) == 0 + && SAME_INODE (sbuf1, sbuf2)) + fatal (_("%P: error: linker script file '%s (%s)'" + " appears multiple times\n"), filename, script->name); + } + + len = strlen (filename); + script = xmalloc (sizeof (*script) + len); + script->next = processed_scripts; + script->open_how = open_how; + memcpy (script->name, filename, len + 1); + processed_scripts = script; + + free (path); + return result; } @@ -886,31 +916,8 @@ ldfile_open_command_file_1 (const char *name, enum script_open_style open_how) { FILE *ldlex_input_stack; bool sysrooted; - struct script_name_list *script; - size_t len; - - /* PR 24576: Catch the case where the user has accidentally included - the same linker script twice. */ - for (script = processed_scripts; script != NULL; script = script->next) - { - if ((open_how != script_nonT || script->open_how != script_nonT) - && strcmp (name, script->name) == 0) - { - fatal (_("%P: error: linker script file '%s'" - " appears multiple times\n"), name); - return; - } - } - - len = strlen (name); - script = xmalloc (sizeof (*script) + len); - script->next = processed_scripts; - script->open_how = open_how; - memcpy (script->name, name, len + 1); - processed_scripts = script; - ldlex_input_stack = ldfile_find_command_file (name, - open_how == script_defaultT, + ldlex_input_stack = ldfile_find_command_file (name, open_how, &sysrooted); if (ldlex_input_stack == NULL) { diff --git a/ld/ldlang.c b/ld/ldlang.c index fc7a7d2..3c57bf7 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -44,9 +44,7 @@ #include "elf-bfd.h" #include "bfdver.h" #include <errno.h> -#if BFD_SUPPORTS_PLUGINS #include "plugin.h" -#endif #ifndef offsetof #define offsetof(TYPE, MEMBER) ((size_t) & (((TYPE*) 0)->MEMBER)) @@ -58,6 +56,9 @@ #define TO_ADDR(X) ((X) >> opb_shift) #define TO_SIZE(X) ((X) << opb_shift) +/* The maximum nested group depth. */ +#define MAX_NESTED_GROUP_DEPTH 100 + /* Local variables. */ static struct obstack stat_obstack; static struct obstack map_obstack; @@ -2853,14 +2854,24 @@ lang_add_section (lang_statement_list_type *ptr, /* Only set SEC_READONLY flag on the first input section. */ flags &= ~ SEC_READONLY; - /* Keep SEC_MERGE and SEC_STRINGS only if they are the same. */ - if ((output->bfd_section->flags & (SEC_MERGE | SEC_STRINGS)) - != (flags & (SEC_MERGE | SEC_STRINGS)) - || ((flags & SEC_MERGE) != 0 - && output->bfd_section->entsize != section->entsize)) + /* Keep entry size, SEC_MERGE, and SEC_STRINGS only if entry sizes are + the same. */ + if (output->bfd_section->entsize != section->entsize) + { + output->bfd_section->entsize = 0; + flags &= ~(SEC_MERGE | SEC_STRINGS); + } + + /* Keep SEC_MERGE and SEC_STRINGS (each) only if they are the same. */ + if ((output->bfd_section->flags ^ flags) & SEC_MERGE) { - output->bfd_section->flags &= ~ (SEC_MERGE | SEC_STRINGS); - flags &= ~ (SEC_MERGE | SEC_STRINGS); + output->bfd_section->flags &= ~SEC_MERGE; + flags &= ~SEC_MERGE; + } + if ((output->bfd_section->flags ^ flags) & SEC_STRINGS) + { + output->bfd_section->flags &= ~SEC_STRINGS; + flags &= ~SEC_STRINGS; } } output->bfd_section->flags |= flags; @@ -2875,8 +2886,7 @@ lang_add_section (lang_statement_list_type *ptr, link_info.output_bfd, output->bfd_section, &link_info); - if ((flags & SEC_MERGE) != 0) - output->bfd_section->entsize = section->entsize; + output->bfd_section->entsize = section->entsize; } if ((flags & SEC_TIC54X_BLOCK) != 0 @@ -3626,26 +3636,27 @@ enum open_bfd_mode OPEN_BFD_FORCE = 1, OPEN_BFD_RESCAN = 2 }; -#if BFD_SUPPORTS_PLUGINS static lang_input_statement_type *plugin_insert = NULL; static struct bfd_link_hash_entry *plugin_undefs = NULL; -#endif static void open_input_bfds (lang_statement_union_type *s, lang_output_section_statement_type *os, - enum open_bfd_mode mode) + enum open_bfd_mode mode, + unsigned int *nested_group_count_p) { for (; s != NULL; s = s->header.next) { switch (s->header.type) { case lang_constructors_statement_enum: - open_input_bfds (constructor_list.head, os, mode); + open_input_bfds (constructor_list.head, os, mode, + nested_group_count_p); break; case lang_output_section_statement_enum: os = &s->output_section_statement; - open_input_bfds (os->children.head, os, mode); + open_input_bfds (os->children.head, os, mode, + nested_group_count_p); break; case lang_wild_statement_enum: /* Maybe we should load the file's symbols. */ @@ -3654,36 +3665,35 @@ open_input_bfds (lang_statement_union_type *s, && !wildcardp (s->wild_statement.filename) && !archive_path (s->wild_statement.filename)) lookup_name (s->wild_statement.filename); - open_input_bfds (s->wild_statement.children.head, os, mode); + open_input_bfds (s->wild_statement.children.head, os, mode, + nested_group_count_p); break; case lang_group_statement_enum: { struct bfd_link_hash_entry *undefs; -#if BFD_SUPPORTS_PLUGINS lang_input_statement_type *plugin_insert_save; -#endif /* We must continually search the entries in the group until no new symbols are added to the list of undefined symbols. */ + ++*nested_group_count_p; + do { -#if BFD_SUPPORTS_PLUGINS plugin_insert_save = plugin_insert; -#endif undefs = link_info.hash->undefs_tail; open_input_bfds (s->group_statement.children.head, os, - mode | OPEN_BFD_FORCE); + mode | OPEN_BFD_FORCE, + nested_group_count_p); } while (undefs != link_info.hash->undefs_tail -#if BFD_SUPPORTS_PLUGINS /* Objects inserted by a plugin, which are loaded before we hit this loop, may have added new undefs. */ - || (plugin_insert != plugin_insert_save && plugin_undefs) -#endif - ); + || (plugin_insert != plugin_insert_save && plugin_undefs)); + + --*nested_group_count_p; } break; case lang_target_statement_enum: @@ -3696,6 +3706,10 @@ open_input_bfds (lang_statement_union_type *s, lang_statement_list_type add; bfd *abfd; + if (*nested_group_count_p >= MAX_NESTED_GROUP_DEPTH) + fatal (_("%P: group nested too deeply in linker script '%s'\n"), + s->input_statement.filename); + s->input_statement.target = current_target; /* If we are being called from within a group, and this @@ -3704,10 +3718,8 @@ open_input_bfds (lang_statement_union_type *s, has been loaded already. Do the same for a rescan. Likewise reload --as-needed shared libs. */ if (mode != OPEN_BFD_NORMAL -#if BFD_SUPPORTS_PLUGINS && ((mode & OPEN_BFD_RESCAN) == 0 || plugin_insert == NULL) -#endif && s->input_statement.flags.loaded && (abfd = s->input_statement.the_bfd) != NULL && ((bfd_get_format (abfd) == bfd_archive @@ -3751,12 +3763,10 @@ open_input_bfds (lang_statement_union_type *s, } } } -#if BFD_SUPPORTS_PLUGINS /* If we have found the point at which a plugin added new files, clear plugin_insert to enable archive rescan. */ if (&s->input_statement == plugin_insert) plugin_insert = NULL; -#endif break; case lang_assignment_statement_enum: if (s->assignment_statement.exp->type.node_class != etree_assert) @@ -7342,11 +7352,9 @@ lang_check (void) file != NULL; file = file->next) { -#if BFD_SUPPORTS_PLUGINS /* Don't check format of files claimed by plugin. */ if (file->flags.claimed) continue; -#endif /* BFD_SUPPORTS_PLUGINS */ input_bfd = file->the_bfd; compatible = bfd_arch_get_compatible (input_bfd, link_info.output_bfd, @@ -7873,10 +7881,8 @@ lang_gc_sections (void) LANG_FOR_EACH_INPUT_STATEMENT (f) { asection *sec; -#if BFD_SUPPORTS_PLUGINS if (f->flags.claimed) continue; -#endif for (sec = f->the_bfd->sections; sec != NULL; sec = sec->next) if ((sec->flags & SEC_DEBUGGING) == 0 || strcmp (sec->name, ".stabstr") != 0) @@ -8020,7 +8026,6 @@ lang_relax_sections (bool need_layout) } } -#if BFD_SUPPORTS_PLUGINS /* Find the insert point for the plugin's replacement files. We place them after the first claimed real object file, or if the first claimed object is an archive member, after the last real @@ -8148,7 +8153,6 @@ find_next_input_statement (lang_statement_union_type **s) } return s; } -#endif /* BFD_SUPPORTS_PLUGINS */ /* Insert SRCLIST into DESTLIST after given element by chaining on FIELD as the next-pointer. (Counterintuitively does not need @@ -8285,6 +8289,8 @@ lang_os_merge_sort_children (void) void lang_process (void) { + unsigned int nested_group_count = 0; + lang_os_merge_sort_children (); /* Finalize dynamic list. */ @@ -8316,7 +8322,8 @@ lang_process (void) /* Create a bfd for each input file. */ current_target = default_target; lang_statement_iteration++; - open_input_bfds (statement_list.head, NULL, OPEN_BFD_NORMAL); + open_input_bfds (statement_list.head, NULL, OPEN_BFD_NORMAL, + &nested_group_count); /* Now that open_input_bfds has processed assignments and provide statements we can give values to symbolic origin/length now. */ @@ -8324,7 +8331,6 @@ lang_process (void) ldemul_before_plugin_all_symbols_read (); -#if BFD_SUPPORTS_PLUGINS if (link_info.lto_plugin_active) { lang_statement_list_type added; @@ -8351,7 +8357,8 @@ lang_process (void) last_os = ((lang_output_section_statement_type *) ((char *) lang_os_list.tail - offsetof (lang_output_section_statement_type, next))); - open_input_bfds (*added.tail, last_os, OPEN_BFD_NORMAL); + open_input_bfds (*added.tail, last_os, OPEN_BFD_NORMAL, + &nested_group_count); if (plugin_undefs == link_info.hash->undefs_tail) plugin_undefs = NULL; /* Restore the global list pointer now they have all been added. */ @@ -8402,7 +8409,8 @@ lang_process (void) /* Rescan archives in case new undefined symbols have appeared. */ files = file_chain; lang_statement_iteration++; - open_input_bfds (statement_list.head, NULL, OPEN_BFD_RESCAN); + open_input_bfds (statement_list.head, NULL, OPEN_BFD_RESCAN, + &nested_group_count); lang_list_remove_tail (&file_chain, &files); while (files.head != NULL) { @@ -8435,9 +8443,7 @@ lang_process (void) } } } - else -#endif /* BFD_SUPPORTS_PLUGINS */ - if (bfd_link_relocatable (&link_info)) + else if (bfd_link_relocatable (&link_info)) { /* Check if .gnu_object_only section should be created. */ bfd *p; @@ -10692,6 +10698,9 @@ cmdline_add_object_only_section (bfd_byte *contents, size_t size) goto loser; } + /* This is a linker input BFD. */ + ibfd->is_linker_input = 1; + if (!bfd_check_format_matches (ibfd, bfd_object, &matching)) { err = bfd_errmsg (bfd_get_error ()); @@ -10840,7 +10849,7 @@ cmdline_add_object_only_section (bfd_byte *contents, size_t size) /* ibfd needs to be closed *after* obfd, otherwise ld may crash with a segmentation fault. */ if (!bfd_close (ibfd)) - einfo (_("%P%F: failed to close input\n")); + fatal (_("%P: failed to close input\n")); /* Must be freed after bfd_close (). */ free (isympp); @@ -10848,7 +10857,7 @@ cmdline_add_object_only_section (bfd_byte *contents, size_t size) /* Must unlink to ensure rename works on Windows. */ if (unlink (output_filename) && errno != ENOENT) - einfo (_("%P%F: failed to unlink %s\n"), output_filename); + fatal (_("%P: failed to unlink %s\n"), output_filename); if (rename (ofilename, output_filename)) { @@ -10886,6 +10895,7 @@ cmdline_emit_object_only_section (void) size_t size, off; bfd_byte *contents; struct stat st; + unsigned int nested_group_count = 0; /* Get a temporary object-only file. */ output_filename = make_temp_file (".obj-only.o"); @@ -10922,7 +10932,8 @@ cmdline_emit_object_only_section (void) cmdline_get_object_only_input_files (); /* Open object-only input files. */ - open_input_bfds (statement_list.head, NULL, OPEN_BFD_NORMAL); + open_input_bfds (statement_list.head, NULL, OPEN_BFD_NORMAL, + &nested_group_count); ldemul_after_open (); diff --git a/ld/ldlang.h b/ld/ldlang.h index 8d905f0..a9607be 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -287,7 +287,6 @@ struct lang_input_statement_flags /* Set if reloading an archive or --as-needed lib. */ unsigned int reload : 1; -#if BFD_SUPPORTS_PLUGINS /* Set if the file was claimed by a plugin. */ unsigned int claimed : 1; @@ -296,7 +295,6 @@ struct lang_input_statement_flags /* Set if added by the lto plugin add_input_file callback. */ unsigned int lto_output : 1; -#endif /* BFD_SUPPORTS_PLUGINS */ /* Head of list of pushed flags. */ struct lang_input_statement_flags *pushed; @@ -146,11 +146,9 @@ enum option_values OPTION_WARN_ALTERNATE_EM, OPTION_REDUCE_MEMORY_OVERHEADS, OPTION_MAX_CACHE_SIZE, -#if BFD_SUPPORTS_PLUGINS OPTION_PLUGIN, OPTION_PLUGIN_OPT, OPTION_PLUGIN_SAVE_TEMPS, -#endif /* BFD_SUPPORTS_PLUGINS */ OPTION_DEFAULT_SCRIPT, OPTION_PRINT_OUTPUT_FORMAT, OPTION_PRINT_SYSROOT, @@ -471,6 +469,12 @@ enum option_values OPTION_NO_LITERAL_MOVEMENT, OPTION_ABI_WINDOWED, OPTION_ABI_CALL0, + /* Used by emultempl/elf-x86-glibc.em. */ + OPTION_GNU2_TLS_VERSION_TAG, + OPTION_NO_GNU2_TLS_VERSION_TAG, + /* Used by emultempl/elf-i386-glibc.em. */ + OPTION_GNU_TLS_VERSION_TAG, + OPTION_NO_GNU_TLS_VERSION_TAG, }; /* The initial parser states. */ diff --git a/ld/ldmain.c b/ld/ldmain.c index 13b8e3d..157f205 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -40,9 +40,7 @@ #include "ldfile.h" #include "ldemul.h" #include "ldctor.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin.h" -#endif /* BFD_SUPPORTS_PLUGINS */ /* Somewhere above, sys/stat.h got included. */ #if !defined(S_ISDIR) && defined(S_IFDIR) @@ -227,13 +225,11 @@ ld_cleanup (void) inext = ibfd->link.next; bfd_close_all_done (ibfd); } -#if BFD_SUPPORTS_PLUGINS /* Note - we do not call ld_plugin_start (PHASE_PLUGINS) here as this function is only called when the linker is exiting - ie after any stats may have been reported, and potentially in the middle of a phase where we have already started recording plugin stats. */ plugin_call_cleanup (); -#endif if (output_filename && delete_output_file_on_failure) unlink_if_ordinary (output_filename); } @@ -724,12 +720,10 @@ main (int argc, char **argv) ld_stop_phase (PHASE_PARSE); -#if BFD_SUPPORTS_PLUGINS ld_start_phase (PHASE_PLUGINS); /* Now all the plugin arguments have been gathered, we can load them. */ plugin_load_plugins (); ld_stop_phase (PHASE_PLUGINS); -#endif /* BFD_SUPPORTS_PLUGINS */ ld_start_phase (PHASE_PARSE); @@ -1307,7 +1301,6 @@ add_archive_element (struct bfd_link_info *info, (if enabled) may possibly alter it to point to a replacement BFD, but we still want to output the original BFD filename. */ orig_input = *input; -#if BFD_SUPPORTS_PLUGINS /* Don't claim a fat IR object if no IR object should be claimed. */ if (link_info.lto_plugin_active && (!no_more_claiming @@ -1336,7 +1329,6 @@ add_archive_element (struct bfd_link_info *info, } else cmdline_check_object_only_section (input->the_bfd, false); -#endif /* BFD_SUPPORTS_PLUGINS */ if (link_info.input_bfds_tail == &input->the_bfd->link.next || input->the_bfd->link.next != NULL) diff --git a/ld/lexsup.c b/ld/lexsup.c index bde2046..5cb7799 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -41,9 +41,7 @@ #include "ldver.h" #include "ldemul.h" #include "demangle.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin.h" -#endif /* BFD_SUPPORTS_PLUGINS */ #ifndef PATH_SEPARATOR #if defined (__MSDOS__) || (defined (_WIN32) && ! defined (__CYGWIN32__)) @@ -182,7 +180,6 @@ static const struct ld_option ld_options[] = 'O', NULL, N_("Optimize output file"), ONE_DASH }, { {"out-implib", required_argument, NULL, OPTION_OUT_IMPLIB}, '\0', N_("FILE"), N_("Generate import library"), TWO_DASHES }, -#if BFD_SUPPORTS_PLUGINS { {"plugin", required_argument, NULL, OPTION_PLUGIN}, '\0', N_("PLUGIN"), N_("Load named plugin"), ONE_DASH }, { {"plugin-opt", required_argument, NULL, OPTION_PLUGIN_OPT}, @@ -196,12 +193,6 @@ static const struct ld_option ld_options[] = { {"flto-partition=", required_argument, NULL, OPTION_IGNORE}, '\0', NULL, N_("Ignored for GCC LTO option compatibility"), ONE_DASH }, -#else - { {"plugin", required_argument, NULL, OPTION_IGNORE}, - '\0', N_("PLUGIN"), N_("Load named plugin (ignored)"), ONE_DASH }, - { {"plugin-opt", required_argument, NULL, OPTION_IGNORE}, - '\0', N_("ARG"), N_("Send arg to last-loaded plugin (ignored)"), ONE_DASH }, -#endif /* BFD_SUPPORTS_PLUGINS */ { {"fuse-ld=", required_argument, NULL, OPTION_IGNORE}, '\0', NULL, N_("Ignored for GCC linker option compatibility"), ONE_DASH }, @@ -1213,18 +1204,18 @@ parse_args (unsigned argc, char **argv) case OPTION_PRINT_OUTPUT_FORMAT: command_line.print_output_format = true; break; -#if BFD_SUPPORTS_PLUGINS case OPTION_PLUGIN: - plugin_opt_plugin (optarg); + if (bfd_plugin_enabled ()) + plugin_opt_plugin (optarg); break; case OPTION_PLUGIN_OPT: - if (plugin_opt_plugin_arg (optarg)) + if (bfd_plugin_enabled () + && plugin_opt_plugin_arg (optarg)) fatal (_("%P: bad -plugin-opt option\n")); break; case OPTION_PLUGIN_SAVE_TEMPS: config.plugin_save_temps = true; break; -#endif /* BFD_SUPPORTS_PLUGINS */ case 'q': link_info.emitrelocations = true; break; @@ -1543,9 +1534,7 @@ parse_args (unsigned argc, char **argv) int level ATTRIBUTE_UNUSED = strtoul (optarg, &end, 0); if (*end) fatal (_("%P: invalid number `%s'\n"), optarg); -#if BFD_SUPPORTS_PLUGINS report_plugin_symbols = level > 1; -#endif /* BFD_SUPPORTS_PLUGINS */ } break; case 'v': @@ -2474,7 +2463,13 @@ help (void) for (; len < 30; len++) putchar (' '); - printf ("%s\n", _(ld_options[i].doc)); + printf ("%s", _(ld_options[i].doc)); + if ((ld_options[i].opt.val == OPTION_PLUGIN + || ld_options[i].opt.val == OPTION_PLUGIN_OPT) + && !bfd_plugin_enabled ()) + puts (_(" (ignored)")); + else + putchar ('\n'); } } printf (_(" @FILE")); diff --git a/ld/libdep_plugin.c b/ld/libdep_plugin.c index 605d597..e1dbf18 100644 --- a/ld/libdep_plugin.c +++ b/ld/libdep_plugin.c @@ -20,7 +20,6 @@ #include "sysdep.h" #include "bfd.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin-api.h" #include <ctype.h> /* For isspace. */ @@ -340,4 +339,3 @@ onload (struct ld_plugin_tv *tv) fflush (NULL); return LDPS_OK; } -#endif /* BFD_SUPPORTS_PLUGINS */ diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 210b77e..c730b54 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -1630,9 +1630,8 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info) const struct bfd_link_hash_entry *blhe = bfd_wrapped_link_hash_lookup (abfd, info, sym->name, false, false, false); - /* Don't create relocs for undefined weak symbols. */ - if (sym->flags == BSF_WEAK) + if (sym->flags & BSF_WEAK) { if (blhe && blhe->type == bfd_link_hash_undefweak) { @@ -1657,7 +1656,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info) continue; } /* Nor for Dwarf FDE references to discarded sections. */ - else if (bfd_is_abs_section (sym->section->output_section)) + if (bfd_is_abs_section (sym->section->output_section)) { /* We only ignore relocs from .eh_frame sections, as they are discarded by the final link rather than @@ -1666,10 +1665,10 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info) continue; } /* Nor for absolute symbols. */ - else if (blhe && ldexp_is_final_sym_absolute (blhe) - && (!blhe->linker_def - || (strcmp (sym->name, "__image_base__") - && strcmp (sym->name, U ("__ImageBase"))))) + if (blhe && ldexp_is_final_sym_absolute (blhe) + && (!blhe->linker_def + || (strcmp (sym->name, "__image_base__") + && strcmp (sym->name, U ("__ImageBase"))))) continue; reloc_data[total_relocs].vma = sec_vma + relocs[i]->address; diff --git a/ld/plugin.c b/ld/plugin.c index dedd1a0..08d827c 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -21,7 +21,6 @@ #include "sysdep.h" #include "libiberty.h" #include "bfd.h" -#if BFD_SUPPORTS_PLUGINS #include "bfdlink.h" #include "bfdver.h" #include "ctf-api.h" @@ -1536,4 +1535,3 @@ plugin_notice (struct bfd_link_info *info, abfd, section, value, flags); return true; } -#endif /* BFD_SUPPORTS_PLUGINS */ diff --git a/ld/po/BLD-POTFILES.in b/ld/po/BLD-POTFILES.in index 7daf1d7..94bd7b0 100644 --- a/ld/po/BLD-POTFILES.in +++ b/ld/po/BLD-POTFILES.in @@ -1,5 +1,3 @@ -eaarch64cloudabi.c -eaarch64cloudabib.c eaarch64elf.c eaarch64elf32.c eaarch64elf32b.c @@ -213,7 +211,6 @@ eelf_iamcu.c eelf_mipsel_haiku.c eelf_s390.c eelf_x86_64.c -eelf_x86_64_cloudabi.c eelf_x86_64_fbsd.c eelf_x86_64_haiku.c eelf_x86_64_sol2.c diff --git a/ld/po/de.po b/ld/po/de.po index a71a8c1..91b9654 100644 --- a/ld/po/de.po +++ b/ld/po/de.po @@ -1,2446 +1,2214 @@ -# Katalog für opcodes. -# Copyright (C) 2002 Free Software Foundation, Inc. +# German translation of binutils ld. +# Copyright (C) 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the binutils package. -# Martin v. Löwis <martin@v.loewis.de>, 2002. -# Roland Illig <roland.illig@gmx.de>, 2004-2019. +# Mario Blättermann <mario.blaettermann@gmail.com>, 2014. # msgid "" msgstr "" -"Project-Id-Version: opcodes 2.31.90\n" +"Project-Id-Version: ld 2.23.90\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2019-01-19 16:32+0000\n" -"PO-Revision-Date: 2019-01-20 16:14+0100\n" -"Last-Translator: Roland Illig <roland.illig@gmx.de>\n" +"POT-Creation-Date: 2011-10-25 11:20+0100\n" +"PO-Revision-Date: 2014-05-12 21:11+0100\n" +"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" "Language: de\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.4\n" -#: aarch64-asm.c:819 -msgid "specified register cannot be read from" -msgstr "Aus dem angegebenen Register kann nicht gelesen werden" +#: emultempl/armcoff.em:73 +#, c-format +msgid " --support-old-code Support interworking with old code\n" +msgstr " --support-old-code Interaktion mit altem Code unterstützen\n" -#: aarch64-asm.c:828 -msgid "specified register cannot be written to" -msgstr "In das angegebene Register kann nicht geschrieben werden" +#: emultempl/armcoff.em:74 +#, c-format +msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n" +msgstr "" -#. Invalid option. -#: aarch64-dis.c:92 arc-dis.c:782 arm-dis.c:6174 +#: emultempl/armcoff.em:122 #, c-format -msgid "unrecognised disassembler option: %s" -msgstr "Unbekannte Disassembler-Option: %s" +msgid "Errors encountered processing file %s" +msgstr "Bei der Verarbeitung der Datei %s sind Fehler aufgetreten" -#: aarch64-dis.c:3448 +#: emultempl/armcoff.em:192 emultempl/pe.em:1812 +msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n" +msgstr "%P: Warnung: »--thumb-entry %s« setzt »-e %s« außer Kraft\n" + +#: emultempl/armcoff.em:197 emultempl/pe.em:1817 +msgid "%P: warning: cannot find thumb start symbol %s\n" +msgstr "" + +#: emultempl/pe.em:419 #, c-format -msgid "" -"\n" -"The following AARCH64 specific disassembler options are supported for use\n" -"with the -M switch (multiple options should be separated by commas):\n" +msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n" msgstr "" -"\n" -"Die folgenden AARCH64-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" -#: aarch64-dis.c:3452 +#: emultempl/pe.em:420 #, c-format -msgid "" -"\n" -" no-aliases Don't print instruction aliases.\n" +msgid " --dll Set image base to the default for DLLs\n" msgstr "" -"\n" -" no-aliases Befehls-Aliase nicht ausgeben.\n" -#: aarch64-dis.c:3455 +#: emultempl/pe.em:421 #, c-format -msgid "" -"\n" -" aliases Do print instruction aliases.\n" +msgid " --file-alignment <size> Set file alignment\n" msgstr "" -"\n" -" aliases Befehls-Aliase ausgeben.\n" -#: aarch64-dis.c:3458 +#: emultempl/pe.em:422 #, c-format -msgid "" -"\n" -" no-notes Don't print instruction notes.\n" +msgid " --heap <size> Set initial size of the heap\n" msgstr "" -"\n" -" no-notes Befehls-Hinweise nicht ausgeben.\n" -#: aarch64-dis.c:3461 +#: emultempl/pe.em:423 #, c-format -msgid "" -"\n" -" notes Do print instruction notes.\n" +msgid " --image-base <address> Set start address of the executable\n" +msgstr " --image-base <Adresse> Startadresse der ausführbaren Datei setzen\n" + +#: emultempl/pe.em:424 +#, c-format +msgid " --major-image-version <number> Set version number of the executable\n" msgstr "" -"\n" -" notes Befehls-Hinweise ausgeben.\n" +" --major-image-version <Nummer> legt die Versionsnummer der ausführbaren\n" +" Datei fest\n" -#: aarch64-dis.c:3465 +#: emultempl/pe.em:425 #, c-format -msgid "" -"\n" -" debug_dump Temp switch for debug trace.\n" +msgid " --major-os-version <number> Set minimum required OS version\n" msgstr "" -"\n" -" debug_dump Temporärer Schalter für Debugspuren.\n" +" --major-os-version <Nummer> legt die minimal erforderliche\n" +" OS-Version fest\n" -#: aarch64-dis.c:3469 mips-dis.c:2773 mips-dis.c:2783 mips-dis.c:2786 -#: nfp-dis.c:2981 riscv-dis.c:552 +#: emultempl/pe.em:426 #, c-format -msgid "\n" -msgstr "\n" +msgid " --major-subsystem-version <number> Set minimum required OS subsystem version\n" +msgstr "" +" --major-subsystem-version <Nummer> legt die minimal erforderliche\n" +" OS-Subsystem-Version fest\n" -#: aarch64-opc.c:1339 -msgid "immediate value" -msgstr "Direktwert" +#: emultempl/pe.em:427 +#, c-format +msgid " --minor-image-version <number> Set revision number of the executable\n" +msgstr "" +" --minor-image-version <Nummer> legt die Revisionsnummer der ausführbaren\n" +" Datei fest\n" -#: aarch64-opc.c:1349 -msgid "immediate offset" -msgstr "Direkter Offset" +#: emultempl/pe.em:428 +#, c-format +msgid " --minor-os-version <number> Set minimum required OS revision\n" +msgstr "" +" --minor-os-version <Nummer> legt die minimal erforderliche Revisionsnummer\n" +" des Betriebssystems fest\n" -#: aarch64-opc.c:1359 -msgid "register number" -msgstr "Registernummer" +#: emultempl/pe.em:429 +#, c-format +msgid " --minor-subsystem-version <number> Set minimum required OS subsystem revision\n" +msgstr "" +" --minor-subsystem-version <Nummer> legt die minimal erforderliche\n" +" OS-Subsystem-Revision fest\n" -#: aarch64-opc.c:1369 -msgid "register element index" -msgstr "Register-Elementindex" +#: emultempl/pe.em:430 +#, c-format +msgid " --section-alignment <size> Set section alignment\n" +msgstr "" -#: aarch64-opc.c:1379 -msgid "shift amount" -msgstr "Schiebeanzahl" +#: emultempl/pe.em:431 +#, c-format +msgid " --stack <size> Set size of the initial stack\n" +msgstr "" -#: aarch64-opc.c:1391 -msgid "multiplier" -msgstr "Multiplikator" +#: emultempl/pe.em:432 +#, c-format +msgid " --subsystem <name>[:<version>] Set required OS subsystem [& version]\n" +msgstr " --subsystem <Name>[:<Version>] legt das benötigte OS-Subsystem [und Version] fest\n" -#: aarch64-opc.c:1464 -msgid "reg pair must start from even reg" -msgstr "Registerpaar muss mit geradem Register anfangen" +#: emultempl/pe.em:433 +#, c-format +msgid " --support-old-code Support interworking with old code\n" +msgstr " --support-old-code Interaktion mit altem Code unterstützen\n" -#: aarch64-opc.c:1470 -msgid "reg pair must be contiguous" -msgstr "Registerpaar muss zusammenhängend sein" +#: emultempl/pe.em:434 +#, c-format +msgid " --[no-]leading-underscore Set explicit symbol underscore prefix mode\n" +msgstr "" -#: aarch64-opc.c:1484 -msgid "extraneous register" -msgstr "Irrelevantes Register" +#: emultempl/pe.em:435 +#, c-format +msgid " --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n" +msgstr "" -#: aarch64-opc.c:1490 -msgid "missing register" -msgstr "Fehlendes Register" +#: emultempl/pe.em:437 +#, c-format +msgid " --add-stdcall-alias Export symbols with and without @nn\n" +msgstr " --add-stdcall-alias exportiert Symbole mit und ohne @nn\n" -#: aarch64-opc.c:1501 -msgid "stack pointer register expected" -msgstr "Stackpointer-Register erwartet" +#: emultempl/pe.em:438 +#, c-format +msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n" +msgstr " --disable-stdcall-fixup verlinkt _sym nicht zu _sym@nn\n" -#: aarch64-opc.c:1524 -msgid "z0-z15 expected" -msgstr "z0-z15 erwartet" +#: emultempl/pe.em:439 +#, c-format +msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n" +msgstr " --enable-stdcall-fixup verlinkt _sym zu _sym@nn ohne Warnungen\n" -#: aarch64-opc.c:1525 -msgid "z0-z7 expected" -msgstr "z0-z7 erwartet" +#: emultempl/pe.em:440 +#, c-format +msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n" +msgstr " --exclude-symbols sym,sym,... schließt Symbole vom automatischen Export aus\n" -#: aarch64-opc.c:1551 -msgid "invalid register list" -msgstr "Ungültige Registerliste" +#: emultempl/pe.em:441 +#, c-format +msgid " --exclude-all-symbols Exclude all symbols from automatic export\n" +msgstr " --exclude-all-symbols Keine Symbole automatisch exportieren\n" -#: aarch64-opc.c:1565 -msgid "p0-p7 expected" -msgstr "p0-p7 erwartet" +#: emultempl/pe.em:442 +#, c-format +msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n" +msgstr " --exclude-libs lib,lib,... Bibliotheken nicht automatisch exportieren\n" -#: aarch64-opc.c:1591 aarch64-opc.c:1599 -msgid "unexpected address writeback" -msgstr "Unerwartetes Adressen-Zurückschreiben" +#: emultempl/pe.em:443 +#, c-format +msgid " --exclude-modules-for-implib mod,mod,...\n" +msgstr " --exclude-modules-for-implib mod,mod,...\n" -#: aarch64-opc.c:1611 -msgid "address writeback expected" -msgstr "Adressen-Zurückschreiben erwartet" +#: emultempl/pe.em:444 +#, c-format +msgid " Exclude objects, archive members from auto\n" +msgstr " schließt Objekte, Archivelemente vom auto-\n" -#: aarch64-opc.c:1658 -msgid "negative or unaligned offset expected" -msgstr "Negativer oder unausgerichteter Offset erwartet" +#: emultempl/pe.em:445 +#, c-format +msgid " export, place into import library instead.\n" +msgstr "" +" matischen Export aus und platziert diese stattdessen\n" +" in der Importbibliothek.\n" -#: aarch64-opc.c:1715 -msgid "invalid register offset" -msgstr "Ungültiger Register-Offset" +#: emultempl/pe.em:446 +#, c-format +msgid " --export-all-symbols Automatically export all globals to DLL\n" +msgstr "" -#: aarch64-opc.c:1737 -msgid "invalid post-increment amount" -msgstr "Nicht erlaubte Anzahl im Post-Inkrement" +#: emultempl/pe.em:447 +#, c-format +msgid " --kill-at Remove @nn from exported symbols\n" +msgstr " --kill-at @nn aus den exportierten Symbolen entfernen\n" -#: aarch64-opc.c:1753 aarch64-opc.c:2247 -msgid "invalid shift amount" -msgstr "Ungültige Schiebeanzahl" +#: emultempl/pe.em:448 +#, c-format +msgid " --out-implib <file> Generate import library\n" +msgstr " --out-implib <Datei> erstellt eine Importbibliothek\n" -#: aarch64-opc.c:1766 -msgid "invalid extend/shift operator" -msgstr "Nicht erlaubter Extend/Shift-Operator" +#: emultempl/pe.em:449 +#, c-format +msgid " --output-def <file> Generate a .DEF file for the built DLL\n" +msgstr " --output-def <Datei> eine .DEF-Datei für die gebaute DLL generieren\n" -#: aarch64-opc.c:1812 aarch64-opc.c:2052 aarch64-opc.c:2087 aarch64-opc.c:2106 -#: aarch64-opc.c:2114 aarch64-opc.c:2201 aarch64-opc.c:2377 aarch64-opc.c:2477 -#: aarch64-opc.c:2490 -msgid "immediate out of range" -msgstr "Direktoperand außerhalb des gültigen Bereichs" +#: emultempl/pe.em:450 +#, c-format +msgid " --warn-duplicate-exports Warn about duplicate exports.\n" +msgstr " --warn-duplicate-exports warnt bei doppelten Exporten.\n" -#: aarch64-opc.c:1834 aarch64-opc.c:1876 aarch64-opc.c:1926 aarch64-opc.c:1960 -msgid "invalid addressing mode" -msgstr "Ungültiger Adressierungsmodus" - -#: aarch64-opc.c:1918 -msgid "index register xzr is not allowed" -msgstr "Indexregister xzr ist nicht erlaubt" - -#: aarch64-opc.c:2040 aarch64-opc.c:2062 aarch64-opc.c:2280 aarch64-opc.c:2288 -#: aarch64-opc.c:2354 aarch64-opc.c:2383 -msgid "invalid shift operator" -msgstr "Ungültiger Schiebeoperator" +#: emultempl/pe.em:451 +#, c-format +msgid "" +" --compat-implib Create backward compatible import libs;\n" +" create __imp_<SYMBOL> as well.\n" +msgstr "" +" --compat-implib erstellt abwärtskompatible Importbibliotheken;\n" +" erstellt __imp_<SYMBOL> ebenfalls.\n" -#: aarch64-opc.c:2046 -msgid "shift amount must be 0 or 12" -msgstr "Schiebeanzahl muss 0 oder 12 sein" +#: emultempl/pe.em:453 +#, c-format +msgid "" +" --enable-auto-image-base Automatically choose image base for DLLs\n" +" unless user specifies one\n" +msgstr "" -#: aarch64-opc.c:2069 -msgid "shift amount must be a multiple of 16" -msgstr "Schiebeanzahl muss ein Vielfaches von 16 sein" +#: emultempl/pe.em:455 +#, c-format +msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n" +msgstr "" -#: aarch64-opc.c:2081 -msgid "negative immediate value not allowed" -msgstr "Negativer Direktwert nicht erlaubt" +#: emultempl/pe.em:456 +#, c-format +msgid "" +" --dll-search-prefix=<string> When linking dynamically to a dll without\n" +" an importlib, use <string><basename>.dll\n" +" in preference to lib<basename>.dll \n" +msgstr "" -#: aarch64-opc.c:2212 -msgid "immediate zero expected" -msgstr "Direkte Null erwartet" +#: emultempl/pe.em:459 +#, c-format +msgid "" +" --enable-auto-import Do sophisticated linking of _sym to\n" +" __imp_sym for DATA references\n" +msgstr "" -#: aarch64-opc.c:2226 -msgid "rotate expected to be 0, 90, 180 or 270" -msgstr "Rotation muss 0, 90, 180 oder 270 sein" +#: emultempl/pe.em:461 +#, c-format +msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n" +msgstr " --disable-auto-import importiert nicht automatisch DATA-Objekte aus DLLs\n" -#: aarch64-opc.c:2236 -msgid "rotate expected to be 90 or 270" -msgstr "Rotation muss 90 oder 270 sein" +#: emultempl/pe.em:462 +#, c-format +msgid "" +" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n" +" adding pseudo-relocations resolved at\n" +" runtime.\n" +msgstr "" -#: aarch64-opc.c:2296 -msgid "shift is not permitted" -msgstr "Schieben ist hier nicht erlaubt" +#: emultempl/pe.em:465 +#, c-format +msgid "" +" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n" +" auto-imported DATA.\n" +msgstr "" -#: aarch64-opc.c:2321 -msgid "invalid value for immediate" -msgstr "Ungültiger Wert für Direktwert" +#: emultempl/pe.em:467 +#, c-format +msgid "" +" --enable-extra-pe-debug Enable verbose debug output when building\n" +" or linking to DLLs (esp. auto-import)\n" +msgstr "" -#: aarch64-opc.c:2346 -msgid "shift amount must be 0 or 16" -msgstr "Schiebeanzahl muss 0 oder 16 sein" +#: emultempl/pe.em:470 +#, c-format +msgid "" +" --large-address-aware Executable supports virtual addresses\n" +" greater than 2 gigabytes\n" +msgstr "" +" --large-address-aware ausführbare Datei unterstützt virtuelle Adressen\n" +" größer als 2 Gigabyte\n" -#: aarch64-opc.c:2367 -msgid "floating-point immediate expected" -msgstr "Gleitkomma-Direktwert erwartet" +#: emultempl/pe.em:472 +#, c-format +msgid "" +" --enable-long-section-names Use long COFF section names even in\n" +" executable image files\n" +msgstr "" -#: aarch64-opc.c:2401 -msgid "no shift amount allowed for 8-bit constants" -msgstr "Schieben ist für 8-Bit-Konstanten nicht möglich" +#: emultempl/pe.em:474 +#, c-format +msgid "" +" --disable-long-section-names Never use long COFF section names, even\n" +" in object files\n" +msgstr "" -#: aarch64-opc.c:2411 -msgid "shift amount must be 0 or 8" -msgstr "Schiebeanzahl muss 0 oder 8 sein" +#: emultempl/pe.em:476 +#, c-format +msgid "" +" --dynamicbase\t\t\t Image base address may be relocated using\n" +"\t\t\t\t address space layout randomization (ASLR)\n" +msgstr "" -#: aarch64-opc.c:2424 -msgid "immediate too big for element size" -msgstr "Direktwert ist zu groß für Elementgröße" +#: emultempl/pe.em:478 +#, c-format +msgid " --forceinteg\t\t Code integrity checks are enforced\n" +msgstr " --forceinteg\t\t erzwingt Code-Integritätsprüfungen\n" -#: aarch64-opc.c:2431 -msgid "invalid arithmetic immediate" -msgstr "Ungültiger Wert für Direktwert" +#: emultempl/pe.em:479 +#, c-format +msgid " --nxcompat\t\t Image is compatible with data execution prevention\n" +msgstr "" -#: aarch64-opc.c:2445 -msgid "floating-point value must be 0.5 or 1.0" -msgstr "Gleitkommazahl muss entweder 0.5 oder 1.0 sein" +#: emultempl/pe.em:480 +#, c-format +msgid " --no-isolation\t\t Image understands isolation but do not isolate the image\n" +msgstr "" -#: aarch64-opc.c:2455 -msgid "floating-point value must be 0.5 or 2.0" -msgstr "Gleitkommazahl muss entweder 0.5 oder 2.0 sein" +#: emultempl/pe.em:481 +#, c-format +msgid "" +" --no-seh\t\t\t Image does not use SEH. No SE handler may\n" +"\t\t\t\t be called in this image\n" +msgstr "" -#: aarch64-opc.c:2465 -msgid "floating-point value must be 0.0 or 1.0" -msgstr "Gleitkommazahl muss entweder 0.0 oder 1.0 sein" +#: emultempl/pe.em:483 +#, c-format +msgid " --no-bind\t\t\t Do not bind this image\n" +msgstr "" -#: aarch64-opc.c:2496 -msgid "invalid replicated MOV immediate" -msgstr "Ungültiger replizierter Direktwert für MOV" +#: emultempl/pe.em:484 +#, c-format +msgid " --wdmdriver\t\t Driver uses the WDM model\n" +msgstr " --wdmdriver\t\t Treiber nutzt das WDM-Modell\n" -#: aarch64-opc.c:2614 -msgid "extend operator expected" -msgstr "Extend-Operator erwartet" +#: emultempl/pe.em:485 +#, c-format +msgid " --tsaware Image is Terminal Server aware\n" +msgstr "" -#: aarch64-opc.c:2627 -msgid "missing extend operator" -msgstr "Extend-Operator fehlt" +#: emultempl/pe.em:614 +msgid "%P: warning: bad version number in -subsystem option\n" +msgstr "%P: Warnung: falsche Versionsnummer in der Option -subsystem\n" -#: aarch64-opc.c:2633 -msgid "'LSL' operator not allowed" -msgstr "LSL-Operator ist hier nicht erlaubt" +#: emultempl/pe.em:639 +msgid "%P%F: invalid subsystem type %s\n" +msgstr "%P%F: unzulässiger Subsystem-Typ %s\n" -#: aarch64-opc.c:2654 -msgid "W register expected" -msgstr "W-Register erwartet" +#: emultempl/pe.em:660 +msgid "%P%F: invalid hex number for PE parameter '%s'\n" +msgstr "%P%F: ungültige Hexadezimalzahl für PE-Parameter »%s«\n" -#: aarch64-opc.c:2665 -msgid "shift operator expected" -msgstr "Schiebe-Operator erwartet" +#: emultempl/pe.em:677 +msgid "%P%F: strange hex info for PE parameter '%s'\n" +msgstr "" -#: aarch64-opc.c:2672 -msgid "'ROR' operator not allowed" -msgstr "ROR-Operator ist hier nicht erlaubt" +#: emultempl/pe.em:692 +msgid "%F%P: cannot open base file %s\n" +msgstr "%F%P: Basisdatei %s kann nicht geöffnet werden\n" -#: aarch64-opc.c:3671 -msgid "reading from a write-only register" -msgstr "Versuch, ein lesegeschütztes Register auszulesen" +#: emultempl/pe.em:965 +msgid "%P: warning, file alignment > section alignment.\n" +msgstr "" -#: aarch64-opc.c:3673 -msgid "writing to a read-only register" -msgstr "Versuch, ein schreibgeschütztes Register zu beschreiben" +#: emultempl/pe.em:978 +msgid "%P: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?\n" +msgstr "%P: Warnung: --export-dynamic wird für PE-Ziele nicht unterstützt, meinten Sie --export-all-symbols?\n" -#: aarch64-opc.c:4815 -msgid "instruction opens new dependency sequence without ending previous one" -msgstr "Der Befehl beginnt eine neue Abhängigkeitsfolge, ohne die vorherige zu beenden" +#: emultempl/pe.em:1054 emultempl/pe.em:1081 +#, c-format +msgid "Warning: resolving %s by linking to %s\n" +msgstr "" -#: aarch64-opc.c:4835 -msgid "previous `movprfx' sequence not closed" -msgstr "Vorherige »movprfx«-Folge nicht beendet" +#: emultempl/pe.em:1059 emultempl/pe.em:1086 +msgid "Use --enable-stdcall-fixup to disable these warnings\n" +msgstr "Verwenden Sie --enable-stdcall-fixup, um diese Warnungen zu deaktivieren.\n" -#: aarch64-opc.c:4852 -msgid "SVE instruction expected after `movprfx'" -msgstr "SVE-Befehl hinter »movprfx« erwartet" +#: emultempl/pe.em:1060 emultempl/pe.em:1087 +msgid "Use --disable-stdcall-fixup to disable these fixups\n" +msgstr "" -#: aarch64-opc.c:4865 -msgid "SVE `movprfx' compatible instruction expected" -msgstr "Zu SVE-»movprfx« kompatibler Befehl erwartet" +#: emultempl/pe.em:1106 +#, c-format +msgid "%C: Cannot get section contents - auto-import exception\n" +msgstr "" -#: aarch64-opc.c:4956 -msgid "predicated instruction expected after `movprfx'" -msgstr "Bedingter Befehl nach »movprfx« erwartet" +#: emultempl/pe.em:1146 +#, c-format +msgid "Info: resolving %s by linking to %s (auto-import)\n" +msgstr "" -#: aarch64-opc.c:4968 -msgid "merging predicate expected due to preceding `movprfx'" -msgstr "Zusammenführende Bedingung erwartet, aufgrund des vorangehenden »movprfx«" +#: emultempl/pe.em:1153 +msgid "" +"%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 "" -#: aarch64-opc.c:4980 -msgid "predicate register differs from that in preceding `movprfx'" -msgstr "Bedingungsregister unterscheidet sich von dem im vorangehenden »movprfx«" +#: emultempl/pe.em:1160 emultempl/pe.em:1366 emultempl/pe.em:1573 ldcref.c:490 +#: ldcref.c:588 ldmain.c:1158 ldmisc.c:290 pe-dll.c:706 pe-dll.c:1254 +#: pe-dll.c:1349 +msgid "%B%F: could not read symbols: %E\n" +msgstr "%B%F: Symbole können nicht gelesen werden: %E\n" -#: aarch64-opc.c:4999 -msgid "output register of preceding `movprfx' not used in current instruction" -msgstr "Ausgaberegister des vorangehenden »movprfx« wird in aktuellem Befehl nicht verwendet" +#: emultempl/pe.em:1242 +msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n" +msgstr "" -#: aarch64-opc.c:5012 -msgid "output register of preceding `movprfx' expected as output" -msgstr "Ausgaberegister des vorangehenden »movprfx« auch hier als Ausgabe erwartet" +#: emultempl/pe.em:1616 +#, c-format +msgid "Errors encountered processing file %s\n" +msgstr "Bei der Verarbeitung der Datei %s sind Fehler aufgetreten\n" -#: aarch64-opc.c:5024 -msgid "output register of preceding `movprfx' used as input" -msgstr "Ausgaberegister des vorangehenden »movprfx« wird als Eingabe verwendet" +#: emultempl/pe.em:1639 +#, c-format +msgid "Errors encountered processing file %s for interworking\n" +msgstr "" -#: aarch64-opc.c:5040 -msgid "register size not compatible with previous `movprfx'" -msgstr "Registergröße nicht mit vorangehendem »movprfx« kompatibel" +#: emultempl/pe.em:1701 ldexp.c:581 ldlang.c:3458 ldlang.c:6992 ldlang.c:7023 +#: ldmain.c:1103 +msgid "%P%F: bfd_link_hash_lookup failed: %E\n" +msgstr "%P%F: bfd_link_hash_lookup fehlgeschlagen: %E\n" -#: alpha-opc.c:154 -msgid "branch operand unaligned" -msgstr "Sprung-Operand ist nicht ausgerichtet (unaligned)" +#: ldcref.c:168 +msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n" +msgstr "" -#: alpha-opc.c:170 alpha-opc.c:186 -msgid "jump hint unaligned" -msgstr "Sprunghinweis ist nicht ausgerichtet (unaligned)" +#: ldcref.c:174 +msgid "%X%P: cref_hash_lookup failed: %E\n" +msgstr "%X%P: cref_hash_lookup fehlgeschlagen: %E\n" -#: arc-dis.c:377 -msgid "" -"\n" -"Warning: disassembly may be wrong due to guessed opcode class choice.\n" -"Use -M<class[,class]> to select the correct opcode class(es).\n" -"\t\t\t\t" +#: ldcref.c:184 +msgid "%X%P: cref alloc failed: %E\n" msgstr "" -"\n" -"Warnung: Da die Opcode-Klasse geraten ist, ist das Disassemblat\n" -"möglicherweise falsch. Verwenden Sie -M<Klasse[,Klasse]>, um die\n" -"korrekten Opcode-Klassen auszuwählen.\n" -"\t\t\t\t" - -#: arc-dis.c:825 -#, c-format -msgid "unrecognised disassembler CPU option: %s" -msgstr "Unbekannte Disassembler-CPU-Option: %s" -#: arc-dis.c:1387 +#: ldcref.c:366 #, c-format msgid "" "\n" -"The following ARC specific disassembler options are supported for use \n" -"with -M switch (multiple options should be separated by commas):\n" +"Cross Reference Table\n" +"\n" msgstr "" "\n" -"Die folgenden ARC-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" - -#: arc-dis.c:1399 -#, c-format -msgid " dsp Recognize DSP instructions.\n" -msgstr " dsp DSP-Befehle erkennen.\n" - -#: arc-dis.c:1401 -#, c-format -msgid " spfp Recognize FPX SP instructions.\n" -msgstr " spfp FPX-SP-Befehle erkennen.\n" +"Querverweistabelle\n" +"\n" -#: arc-dis.c:1403 -#, c-format -msgid " dpfp Recognize FPX DP instructions.\n" -msgstr " dpfp FPX-DP-Befehle erkennen.\n" +#: ldcref.c:367 +msgid "Symbol" +msgstr "Symbol" -#: arc-dis.c:1405 +#: ldcref.c:375 #, c-format -msgid " quarkse_em Recognize FPU QuarkSE-EM instructions.\n" -msgstr " quarkse_em FPU-QuarkSE-EM-Befehle erkennen.\n" +msgid "File\n" +msgstr "Datei\n" -#: arc-dis.c:1407 +#: ldcref.c:379 #, c-format -msgid " fpuda Recognize double assist FPU instructions.\n" -msgstr " fpuda Befehle für hilfsweise doppelt genaue FPU erkennen.\n" +msgid "No symbols\n" +msgstr "Keine Symbole\n" -#: arc-dis.c:1409 -#, c-format -msgid " fpus Recognize single precision FPU instructions.\n" -msgstr " fpus Befehle für einfach genaue FPU erkennen.\n" +#: ldcref.c:532 +msgid "%P: symbol `%T' missing from main hash table\n" +msgstr "" -#: arc-dis.c:1411 -#, c-format -msgid " fpud Recognize double precision FPU instructions.\n" -msgstr " fpud Befehle für doppelt genaue FPU erkennen.\n" +#: ldcref.c:650 ldcref.c:657 ldmain.c:1192 ldmain.c:1199 +msgid "%B%F: could not read relocs: %E\n" +msgstr "" -#: arc-dis.c:1413 -#, c-format -msgid " hex Use only hexadecimal number to print immediates.\n" -msgstr " hex Direktwerte ausschließlich hexadezimal ausgeben.\n" +#. We found a reloc for the symbol. The symbol is defined +#. in OUTSECNAME. This reloc is from a section which is +#. mapped into a section from which references to OUTSECNAME +#. are prohibited. We must report an error. +#: ldcref.c:684 +msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n" +msgstr "%X%C: verbotener Querverweis %s auf »%T« in %s\n" -#: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90 -msgid "LP_COUNT register cannot be used as destination register" -msgstr "Das LP_COUNT-Register kann nicht als Zielregister verwendet werden" +#: ldctor.c:85 +msgid "%P%X: Different relocs used in set %s\n" +msgstr "" -#: arc-opc.c:88 -msgid "cannot use odd number destination register" -msgstr "Nummer des Zielregisters muss gerade sein" +#: ldctor.c:103 +msgid "%P%X: Different object file formats composing set %s\n" +msgstr "%P%X: Verschiedene Objektdateiformate im Satz %s\n" -#: arc-opc.c:101 -msgid "cannot use odd number source register" -msgstr "Nummer des Quellregisters muss gerade sein" +#: ldctor.c:281 ldctor.c:295 +msgid "%P%X: %s does not support reloc %s for set %s\n" +msgstr "" -#: arc-opc.c:114 -msgid "operand is not zero" -msgstr "Operand ist nicht null" +#: ldctor.c:316 +msgid "%P%X: Unsupported size %d for set %s\n" +msgstr "%P%X: Nicht unterstützte Größe %d, um %s zu setzen\n" -#: arc-opc.c:173 -msgid "register R30 is a limm indicator" -msgstr "Register R30 ist ein limm-Indikator" +#: ldctor.c:337 +msgid "" +"\n" +"Set Symbol\n" +"\n" +msgstr "" +"\n" +"Symbol setzen\n" +"\n" -#: arc-opc.c:175 -msgid "register out of range" -msgstr "Register außerhalb des gültigen Bereichs" +#: ldemul.c:265 +#, c-format +msgid "%S SYSLIB ignored\n" +msgstr "%S SYSLIB ignoriert\n" -#: arc-opc.c:194 -msgid "register must be R0" -msgstr "Register muss R0 sein" +#: ldemul.c:271 +#, c-format +msgid "%S HLL ignored\n" +msgstr "%S HLL ignoriert\n" -#: arc-opc.c:212 -msgid "register must be R1" -msgstr "Register muss R1 sein" +#: ldemul.c:291 +msgid "%P: unrecognised emulation mode: %s\n" +msgstr "%P: Nicht erkannter Emulationsmodus: %s\n" -#: arc-opc.c:229 -msgid "register must be R2" -msgstr "Register muss R2 sein" +#: ldemul.c:292 +msgid "Supported emulations: " +msgstr "Unterstützte Emulationen:" -#: arc-opc.c:246 -msgid "register must be R3" -msgstr "Register muss R3 sein" +#: ldemul.c:334 +#, c-format +msgid " no emulation specific options.\n" +msgstr " keine emulationsspezifischen Optionen.\n" -#: arc-opc.c:263 -msgid "register must be SP" -msgstr "Register muss SP sein" +#: ldexp.c:314 +msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n" +msgstr "%P: Warnung: Adresse von »%s« ist kein Vielfaches der maximalen Seitengröße\n" -#: arc-opc.c:280 -msgid "register must be GP" -msgstr "Register muss GP sein" +#: ldexp.c:407 +#, c-format +msgid "%F%S %% by zero\n" +msgstr "%F%S %% durch Null\n" -#: arc-opc.c:297 -msgid "register must be PCL" -msgstr "Register muss PCL sein" +#: ldexp.c:417 +#, c-format +msgid "%F%S / by zero\n" +msgstr "%F%S / durch Null\n" -#: arc-opc.c:314 -msgid "register must be BLINK" -msgstr "Register muss BLINK sein" +#: ldexp.c:591 +#, c-format +msgid "%X%S: unresolvable symbol `%s' referenced in expression\n" +msgstr "%X%S: nicht auflösbares Symbol »%s« im Ausdruck referenziert\n" -#: arc-opc.c:331 -msgid "register must be ILINK1" -msgstr "Register muss ILINK1 sein" +#: ldexp.c:605 +#, c-format +msgid "%F%S: undefined symbol `%s' referenced in expression\n" +msgstr "%F%S: unbekanntes Symbol »%s« im Ausdruck referenziert\n" -#: arc-opc.c:348 -msgid "register must be ILINK2" -msgstr "Register muss ILINK2 sein" +#: ldexp.c:626 ldexp.c:643 ldexp.c:670 +#, c-format +msgid "%F%S: undefined section `%s' referenced in expression\n" +msgstr "%F%S: unbekannter Abschnitt »%s« im Ausdruck referenziert\n" -#. ARC NPS400 Support: See comment near head of file. -#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:724 -msgid "register must be either r0-r3 or r12-r15" -msgstr "Register muss entweder r0-r3 oder r12-r15 sein" +#: ldexp.c:697 ldexp.c:711 +#, c-format +msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n" +msgstr "" -#: arc-opc.c:506 -msgid "accepted values are from -1 to 6" -msgstr "Mögliche Werte liegen zwischen -1 und 6" +#: ldexp.c:722 +#, c-format +msgid "%F%S: unknown constant `%s' referenced in expression\n" +msgstr "%F%S: unbekannte Konstante »%s« im Ausdruck referenziert\n" -#: arc-opc.c:535 -msgid "first register of the range should be r13" -msgstr "Das erste Register im Bereich sollte r13 sein" +#: ldexp.c:787 +#, c-format +msgid "%F%S can not PROVIDE assignment to location counter\n" +msgstr "" -#: arc-opc.c:537 -msgid "last register of the range doesn't fit" -msgstr "Letztes Register des Bereichs passt nicht" +#: ldexp.c:805 +#, c-format +msgid "%F%S invalid assignment to location counter\n" +msgstr "" -#: arc-opc.c:557 arc-opc.c:572 -msgid "invalid register number, should be fp" -msgstr "Ungültige Registernummer, sollte Gleitkomma sein" +#: ldexp.c:808 +#, c-format +msgid "%F%S assignment to location counter invalid outside of SECTION\n" +msgstr "" -#: arc-opc.c:594 -msgid "invalid register number, should be blink" -msgstr "Ungültige Registernummer, sollte blink sein" +#: ldexp.c:821 +msgid "%F%S cannot move location counter backwards (from %V to %V)\n" +msgstr "" -#: arc-opc.c:616 -msgid "invalid register number, should be pcl" -msgstr "Ungültige Registernummer, sollte pcl sein" +#: ldexp.c:882 +msgid "%P%F:%s: hash creation failed\n" +msgstr "%P%F:%s: Hash-Erzeugung fehlgeschlagen\n" -#: arc-opc.c:772 -msgid "invalid size, should be 1, 2, 4, or 8" -msgstr "Ungültige Größe; muss 1, 2, 4 oder 8 sein" +#: ldexp.c:1191 ldexp.c:1216 ldexp.c:1276 +#, c-format +msgid "%F%S: nonconstant expression for %s\n" +msgstr "" -#: arc-opc.c:817 -msgid "invalid immediate, must be 1, 2, or 4" -msgstr "Ungültiger Direktwert; muss 1, 2 oder 4 sein" +#: ldfile.c:142 +#, c-format +msgid "attempt to open %s failed\n" +msgstr "Öffnen von %s ist fehlgeschlagen\n" -#: arc-opc.c:856 -msgid "invalid value for CMEM ld/st immediate" -msgstr "Ungültiger Wert für Direktwert von CMEM ld/st" +#: ldfile.c:144 +#, c-format +msgid "attempt to open %s succeeded\n" +msgstr "Öffnen von %s war erfolgreich\n" -#: arc-opc.c:883 -msgid "invalid position, should be 0, 16, 32, 48 or 64." -msgstr "Ungültige Position; muss 0, 16, 32, 48 oder 64 sein." +#: ldfile.c:150 +msgid "%F%P: invalid BFD target `%s'\n" +msgstr "%F%P: unzulässiges BFD-Ziel »%s«\n" -#: arc-opc.c:917 -msgid "invalid position, should be 16, 32, 64 or 128." -msgstr "Ungültige Position; muss 16, 32, 64 oder 128 sein." +#: ldfile.c:267 ldfile.c:296 +msgid "%P: skipping incompatible %s when searching for %s\n" +msgstr "%P: inkompatibles %s wird bei der Suche nach %s übersprungen\n" -#: arc-opc.c:939 -msgid "invalid size value must be on range 1-64." -msgstr "Ungültiger Wert für Größe; muss im Bereich 1-64 sein." +#: ldfile.c:280 +msgid "%F%P: attempted static link of dynamic object `%s'\n" +msgstr "%F%P: Versuch, das dynamische Objekt »%s« statisch zu linken\n" -#: arc-opc.c:970 -msgid "invalid position, should be 0, 8, 16, or 24" -msgstr "Ungültige Position; muss 0, 8, 16 oder 24 sein" +#: ldfile.c:426 +msgid "%P: cannot find %s (%s): %E\n" +msgstr "%P: %s kann nicht gefunden werden (%s): %E\n" -#: arc-opc.c:995 -msgid "invalid size, value must be " -msgstr "Ungültige Größe, muss sein: " +#: ldfile.c:429 +msgid "%P: cannot find %s: %E\n" +msgstr "%P: %s kann nicht gefunden werden: %E\n" -#: arc-opc.c:1069 -msgid "value out of range 1 - 256" -msgstr "Wert muss im Bereich 1-256 liegen" +#: ldfile.c:464 +msgid "%P: cannot find %s inside %s\n" +msgstr "%P: %s kann nicht innerhalb von %s gefunden werden\n" -#: arc-opc.c:1078 -msgid "value must be power of 2" -msgstr "Wert muss eine Zweierpotenz sein" +#: ldfile.c:467 +msgid "%P: cannot find %s\n" +msgstr "%P: %s kann nicht gefunden werden\n" -#: arc-opc.c:1131 -msgid "value must be in the range 0 to 28" -msgstr "Wert muss im Bereich von 0 bis 28 liegen" +#: ldfile.c:486 ldfile.c:504 +#, c-format +msgid "cannot find script file %s\n" +msgstr "Skriptdatei %s kann nicht gefunden werden\n" -#: arc-opc.c:1153 -msgid "value must be in the range 1 to " -msgstr "ÜBERSETZUNGSPROBLEM: Wert muss im Bereich von 1 bis $$$ liegen" +#: ldfile.c:488 ldfile.c:506 +#, c-format +msgid "opened script file %s\n" +msgstr "Skriptdatei %s wurde geöffnet\n" -#: arc-opc.c:1183 -msgid "value must be in the range 0 to 240" -msgstr "Wert muss im Bereich von 0 bis 240 liegen" +#: ldfile.c:636 +msgid "%P%F: cannot open linker script file %s: %E\n" +msgstr "%P%F: Linker-Skriptdatei %s kann nicht geöffnet werden: %E\n" -#: arc-opc.c:1185 -msgid "value must be a multiple of 16" -msgstr "Wert muss ein Vielfaches von 16 sein" +#: ldfile.c:701 +msgid "%P%F: cannot represent machine `%s'\n" +msgstr "" -#: arc-opc.c:1205 -msgid "invalid address type for operand" -msgstr "Ungültiger Adresstyp für Operand" +#: ldlang.c:1221 ldlang.c:1263 ldlang.c:3143 +msgid "%P%F: can not create hash table: %E\n" +msgstr "%P%F: Hash-Tabelle konnte nicht erzeugt werden: %E\n" -#: arc-opc.c:1239 -msgid "value must be in the range 0 to 31" -msgstr "Wert muss im Bereich von 0 bis 31 liegen" +#: ldlang.c:1314 +msgid "%P:%S: warning: redeclaration of memory region `%s'\n" +msgstr "%P:%S: Warnung: Neudeklaration des Speicherbereichs »%s«\n" -#: arc-opc.c:1264 -msgid "invalid position, should be one of: 0,4,8,...124." -msgstr "Ungültige Position; muss 0, 4, 8, ..., 124 sein." +#: ldlang.c:1320 +msgid "%P:%S: warning: memory region `%s' not declared\n" +msgstr "%P:%S: Warnung: Speicherbereich »%s« nicht deklariert\n" -#: arm-dis.c:3242 -msgid "Select raw register names" -msgstr "Rohe Registernamen auswählen" +#: ldlang.c:1354 +msgid "%F%P:%S: error: alias for default memory region\n" +msgstr "" -#: arm-dis.c:3244 -msgid "Select register names used by GCC" -msgstr "Von GCC verwendete Registernamen auswählen" +#: ldlang.c:1365 +msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n" +msgstr "" -#: arm-dis.c:3246 -msgid "Select register names used in ARM's ISA documentation" -msgstr "Von ARMs ISA-Dokumentation verwendete Registernamen verwenden" +#: ldlang.c:1372 +msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n" +msgstr "" -#: arm-dis.c:3248 -msgid "Assume all insns are Thumb insns" -msgstr "Annnehmen, dass alle Befehle Thumb-Befehle sind" +#: ldlang.c:1424 ldlang.c:1463 +msgid "%P%F: failed creating section `%s': %E\n" +msgstr "" -#: arm-dis.c:3249 -msgid "Examine preceding label to determine an insn's type" -msgstr "Vorangehende Sprungmarke untersuchen, um die Befehlsart festzustellen" +#: ldlang.c:2025 +#, c-format +msgid "" +"\n" +"Discarded input sections\n" +"\n" +msgstr "" -#: arm-dis.c:3250 -msgid "Select register names used in the APCS" -msgstr "In APCS verwendete Registernamen auswählen" +#: ldlang.c:2033 +msgid "" +"\n" +"Memory Configuration\n" +"\n" +msgstr "" +"\n" +"Speicherkonfiguration\n" +"\n" -#: arm-dis.c:3252 -msgid "Select register names used in the ATPCS" -msgstr "In ATPCS verwendete Registernamen auswählen" +#: ldlang.c:2035 +msgid "Name" +msgstr "Name" -#: arm-dis.c:3254 -msgid "Select special register names used in the ATPCS" -msgstr "Spezielle Registernamen für ATPCS auswählen" +#: ldlang.c:2035 +msgid "Origin" +msgstr "Ursprung" -#: arm-dis.c:3652 -msgid "<illegal precision>" -msgstr "<ungültige Genauigkeit>" +#: ldlang.c:2035 +msgid "Length" +msgstr "Länge" -#: arm-dis.c:6165 -#, c-format -msgid "unrecognised register name set: %s" -msgstr "Unbekannte Registernamensmenge: %s" +#: ldlang.c:2035 +msgid "Attributes" +msgstr "Attribute" -#: arm-dis.c:6906 +#: ldlang.c:2075 #, c-format msgid "" "\n" -"The following ARM specific disassembler options are supported for use with\n" -"the -M switch:\n" -msgstr "" +"Linker script and memory map\n" "\n" -"Die folgenden ARM-spezifischen Disassembleroptionen werden in Kombination\n" -"mit dem Schalter »-M« unterstützt:\n" +msgstr "" -#: avr-dis.c:115 avr-dis.c:136 -#, c-format -msgid "undefined" -msgstr "undefiniert" +#: ldlang.c:2141 +msgid "%P%F: Illegal use of `%s' section\n" +msgstr "" -#: avr-dis.c:216 -#, c-format -msgid "internal disassembler error" -msgstr "internal disassembler error" +#: ldlang.c:2150 +msgid "%P%F: output format %s cannot represent section called %s\n" +msgstr "" -#: avr-dis.c:270 -#, c-format -msgid "unknown constraint `%c'" -msgstr "Unbekannte Einschränkung »%c«" +#: ldlang.c:2728 +msgid "%B: file not recognized: %E\n" +msgstr "%B: Datei nicht erkannt: %E\n" -#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201 -#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201 -#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201 -#: xc16x-ibld.c:201 xstormy16-ibld.c:201 -#, c-format -msgid "operand out of range (%ld not between %ld and %ld)" -msgstr "Operand außerhalb des gültigen Bereichs (%ld ist nicht zwischen %ld und %ld)" +#: ldlang.c:2729 +msgid "%B: matching formats:" +msgstr "%B: Passende Formate:" -#: cgen-asm.c:373 -#, c-format -msgid "operand out of range (%lu not between %lu and %lu)" -msgstr "Operand außerhalb des gültigen Bereichs (%lu ist nicht zwischen %lu und %lu)" +#: ldlang.c:2736 +msgid "%F%B: file not recognized: %E\n" +msgstr "%F%B: Datei nicht erkannt: %E\n" -#: d30v-dis.c:229 -#, c-format -msgid "illegal id (%d)" -msgstr "Ungültige ID (%d)" +#: ldlang.c:2810 +msgid "%F%B: member %B in archive is not an object\n" +msgstr "%F%B: Element %B im Archiv ist kein Objekt\n" -#: d30v-dis.c:256 -#, c-format -msgid "<unknown register %d>" -msgstr "<unbekanntes Register %d>" - -# Can't happen. -#. Can't happen. -#: dis-buf.c:61 -#, c-format -msgid "Unknown error %d\n" -msgstr "Unbekannter Fehler %d\n" - -#: dis-buf.c:70 -#, c-format -msgid "Address 0x%s is out of bounds.\n" -msgstr "Adresse 0x%s ist außerhalb des gültigen Bereichs.\n" - -#: epiphany-asm.c:68 -msgid "register unavailable for short instructions" -msgstr "Dieses Register steht in kurzen Maschinenbefehlen nicht zur Verfügung" - -#: epiphany-asm.c:115 -msgid "register name used as immediate value" -msgstr "Registername fälschlicherweise als Direktwert benutzt" - -#. Don't treat "mov ip,ip" as a move-immediate. -#: epiphany-asm.c:178 epiphany-asm.c:234 -msgid "register source in immediate move" -msgstr "Register-Quelle in direktem »mov«" - -#: epiphany-asm.c:187 -msgid "byte relocation unsupported" -msgstr "Byte-Relokation nicht unterstützt" - -#. -- assembler routines inserted here. -#. -- asm.c -#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95 -#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247 -#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355 -#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289 -#: mep-asm.c:301 or1k-asm.c:54 -msgid "missing `)'" -msgstr "Fehlende »)«." +#: ldlang.c:2825 ldlang.c:2839 +msgid "%F%B: could not read symbols: %E\n" +msgstr "%F%B: Symbole können nicht gelesen werden: %E\n" -#: epiphany-asm.c:270 -msgid "ABORT: unknown operand" -msgstr "ABBRUCH: Unbekannter Operand" +#: ldlang.c:3113 +msgid "%P: warning: could not find any targets that match endianness requirement\n" +msgstr "%P: Warnung: Es können keine Ziele gefunden werden, die der geforderten Bytereihenfolge entsprechen.\n" -#: epiphany-asm.c:296 -msgid "Not a pc-relative address." -msgstr "Das ist keine PC-relative Adresse." - -#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512 -#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329 -#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:512 xc16x-asm.c:377 -#: xstormy16-asm.c:277 -#, c-format -msgid "internal error: unrecognized field %d while parsing" -msgstr "internal error: unrecognized field %d while parsing" - -#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564 -#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381 -#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:564 xc16x-asm.c:429 -#: xstormy16-asm.c:329 -msgid "missing mnemonic in syntax string" -msgstr "Fehlender Mnemonic im Syntaxstring" +#: ldlang.c:3127 +msgid "%P%F: target %s not found\n" +msgstr "%P%F: Ziel %s nicht gefunden\n" -# We couldn't parse it. -#. We couldn't parse it. -#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843 -#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451 -#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703 -#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651 -#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541 -#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776 -#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520 -#: m32r-asm.c:609 m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568 -#: mep-asm.c:1675 mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983 -#: or1k-asm.c:699 or1k-asm.c:703 or1k-asm.c:792 or1k-asm.c:899 xc16x-asm.c:564 -#: xc16x-asm.c:568 xc16x-asm.c:657 xc16x-asm.c:764 xstormy16-asm.c:464 -#: xstormy16-asm.c:468 xstormy16-asm.c:557 xstormy16-asm.c:664 -msgid "unrecognized instruction" -msgstr "Unbekannter Befehl" - -#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746 -#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563 -#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:746 xc16x-asm.c:611 -#: xstormy16-asm.c:511 -#, c-format -msgid "syntax error (expected char `%c', found `%c')" -msgstr "Syntaxfehler (erwartetes Zeichen »%c«, gefunden »%c«)" - -#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756 -#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573 -#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:756 xc16x-asm.c:621 -#: xstormy16-asm.c:521 -#, c-format -msgid "syntax error (expected char `%c', found end of instruction)" -msgstr "Syntaxfehler (Zeichen »%c« erwartet, Befehlsende bekommen)" - -#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786 -#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603 -#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:786 xc16x-asm.c:651 -#: xstormy16-asm.c:551 -msgid "junk at end of line" -msgstr "Müll am Ende der Zeile" - -#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898 -#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715 -#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:898 xc16x-asm.c:763 -#: xstormy16-asm.c:663 -msgid "unrecognized form of instruction" -msgstr "Unbekannte Befehlsform" - -#: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912 -#: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729 -#: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:912 xc16x-asm.c:777 -#: xstormy16-asm.c:677 -#, c-format -msgid "bad instruction `%.50s...'" -msgstr "Falscher Befehl »%.50s...«" - -#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915 -#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732 -#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:915 xc16x-asm.c:780 -#: xstormy16-asm.c:680 -#, c-format -msgid "bad instruction `%.50s'" -msgstr "Falscher Befehl »%.50s«" - -#: epiphany-desc.c:2109 -#, c-format -msgid "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" - -#: epiphany-desc.c:2192 -#, c-format -msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'" - -#: epiphany-desc.c:2211 -#, c-format -msgid "internal error: epiphany_cgen_cpu_open: no endianness specified" -msgstr "internal error: epiphany_cgen_cpu_open: no endianness specified" - -# Default text to print if an instruction isn't recognized. -#. Default text to print if an instruction isn't recognized. -#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 -#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:275 -#: mt-dis.c:41 nds32-dis.c:64 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41 -msgid "*unknown*" -msgstr "*unbekannt*" - -#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289 -#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280 -#: mep-dis.c:1188 mt-dis.c:291 or1k-dis.c:145 xc16x-dis.c:421 -#: xstormy16-dis.c:169 -#, c-format -msgid "internal error: unrecognized field %d while printing insn" -msgstr "internal error: unrecognized field %d while printing insn" - -#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164 -#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164 -#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164 -#: xstormy16-ibld.c:164 -#, c-format -msgid "operand out of range (%ld not between %ld and %lu)" -msgstr "Operand außerhalb des gültigen Bereichs (%ld ist nicht zwischen %ld und %lu)" - -#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185 -#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185 -#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185 -#: xstormy16-ibld.c:185 -#, c-format -msgid "operand out of range (0x%lx not between 0 and 0x%lx)" -msgstr "Operand außerhalb des gültigen Bereichs (0x%lx ist nicht zwischen 0 und 0x%lx)." +#: ldlang.c:3129 +msgid "%P%F: cannot open output file %s: %E\n" +msgstr "%P%F: Ausgabedatei %s kann nicht geöffnet werden: %E\n" -#: epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861 ip2k-ibld.c:612 -#: iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736 m32r-ibld.c:670 -#: mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:658 xc16x-ibld.c:757 -#: xstormy16-ibld.c:683 -#, c-format -msgid "internal error: unrecognized field %d while building insn" -msgstr "internal error: unrecognized field %d while building insn" +#: ldlang.c:3135 +msgid "%P%F:%s: can not make object file: %E\n" +msgstr "%P%F:%s: Objektdatei kann nicht erstellt werden: %E\n" -#: epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179 ip2k-ibld.c:688 -#: iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898 m32r-ibld.c:808 -#: mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:772 xc16x-ibld.c:978 -#: xstormy16-ibld.c:830 -#, c-format -msgid "internal error: unrecognized field %d while decoding insn" -msgstr "internal error: unrecognized field %d while decoding insn" +#: ldlang.c:3139 +msgid "%P%F:%s: can not set architecture: %E\n" +msgstr "%P%F:%s: Architektur kann nicht gesetzt werden: %E\n" -#: epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763 -#: iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516 m32r-ibld.c:922 -#: mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:859 xc16x-ibld.c:1200 -#: xstormy16-ibld.c:941 -#, c-format -msgid "internal error: unrecognized field %d while getting int operand" -msgstr "internal error: unrecognized field %d while getting int operand" +#: ldlang.c:3309 +msgid "%P: warning: %s contains output sections; did you forget -T?\n" +msgstr "" -#: epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 -#: iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116 m32r-ibld.c:1018 -#: mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:928 xc16x-ibld.c:1404 -#: xstormy16-ibld.c:1034 -#, c-format -msgid "internal error: unrecognized field %d while getting vma operand" -msgstr "internal error: unrecognized field %d while getting vma operand" +#: ldlang.c:3350 +msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n" +msgstr "%P%F: bfd_hash_lookup schlug beim Erzeugen des Symbols %s fehl\n" -#: epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987 ip2k-ibld.c:880 -#: iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704 m32r-ibld.c:1120 -#: mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:1004 xc16x-ibld.c:1609 -#: xstormy16-ibld.c:1134 +#: ldlang.c:3368 +msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n" +msgstr "%P%F: bfd_hash_allocate fehlgeschlagen beim Erzeugen des Symbols %s\n" + +#: ldlang.c:3764 +msgid "%F%P: %s not found for insert\n" +msgstr "%F%P: %s zum Einfügen nicht gefunden\n" + +#: ldlang.c:3979 +msgid " load address 0x%V" +msgstr "" + +#: ldlang.c:4254 +msgid "%W (size before relaxing)\n" +msgstr "" + +#: ldlang.c:4345 #, c-format -msgid "internal error: unrecognized field %d while setting int operand" -msgstr "internal error: unrecognized field %d while setting int operand" +msgid "Address of section %s set to " +msgstr "Adresse des Abschnitts %s gesetzt auf " -#: epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245 ip2k-ibld.c:930 -#: iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282 m32r-ibld.c:1212 -#: mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1070 xc16x-ibld.c:1804 -#: xstormy16-ibld.c:1224 +#: ldlang.c:4498 #, c-format -msgid "internal error: unrecognized field %d while setting vma operand" -msgstr "internal error: unrecognized field %d while setting vma operand" +msgid "Fail with %d\n" +msgstr "Fehlschlag mit %d\n" -#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879 -msgid "Register number is not valid" -msgstr "Die Registernummer ist nicht gültig" +#: ldlang.c:4785 +msgid "%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n" +msgstr "" -#: fr30-asm.c:95 -msgid "Register must be between r0 and r7" -msgstr "Das Register muss zwischen r0 und r7 liegen" +#: ldlang.c:4801 +msgid "%X%P: region `%s' overflowed by %ld bytes\n" +msgstr "" -#: fr30-asm.c:97 -msgid "Register must be between r8 and r15" -msgstr "Das Register muss zwischen r8 und r15 liegen" +#: ldlang.c:4824 +msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n" +msgstr "" -#: fr30-asm.c:116 m32c-asm.c:910 -msgid "Register list is not valid" -msgstr "Registerliste ist ungültig" +#: ldlang.c:4835 +msgid "%X%P: %B section `%s' will not fit in region `%s'\n" +msgstr "" -#: fr30-desc.c:1586 +#: ldlang.c:4892 #, c-format -msgid "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +msgid "%F%S: non constant or forward reference address expression for section %s\n" +msgstr "" -#: fr30-desc.c:1669 -#, c-format -msgid "internal error: fr30_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: fr30_cgen_cpu_open: unsupported argument `%d'" +#: ldlang.c:4917 +msgid "%P%X: Internal error on COFF shared library section %s\n" +msgstr "" -#: fr30-desc.c:1688 -#, c-format -msgid "internal error: fr30_cgen_cpu_open: no endianness specified" -msgstr "internal error: fr30_cgen_cpu_open: no endianness specified" +#: ldlang.c:4974 +msgid "%P%F: error: no memory region specified for loadable section `%s'\n" +msgstr "" -#: frv-asm.c:608 -msgid "missing `]'" -msgstr "Hier fehlt eine »]«." +#: ldlang.c:4979 +msgid "%P: warning: no memory region specified for loadable section `%s'\n" +msgstr "" -#: frv-asm.c:611 frv-asm.c:621 -msgid "Special purpose register number is out of range" -msgstr "Nummer des Spezialregisters ist außerhalb des gültigen Bereichs" +#: ldlang.c:5001 +msgid "%P: warning: changing start of section %s by %lu bytes\n" +msgstr "" -#: frv-asm.c:908 -msgid "Value of A operand must be 0 or 1" -msgstr "Wert des A-Operanden muss entweder 0 oder 1 sein" +#: ldlang.c:5078 +msgid "%P: warning: dot moved backwards before `%s'\n" +msgstr "" -#: frv-asm.c:944 -msgid "register number must be even" -msgstr "Die Registernummer muss gerade sein" +#: ldlang.c:5244 +msgid "%P%F: can't relax section: %E\n" +msgstr "" -#: frv-desc.c:6326 -#, c-format -msgid "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: ldlang.c:5573 +msgid "%F%P: invalid data statement\n" +msgstr "%F%P: ungültige data-Anweisung\n" -#: frv-desc.c:6409 -#, c-format -msgid "internal error: frv_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: frv_cgen_cpu_open: unsupported argument `%d'" +#: ldlang.c:5606 +msgid "%F%P: invalid reloc statement\n" +msgstr "%F%P: ungültige reloc-Anweisung\n" -#: frv-desc.c:6428 -#, c-format -msgid "internal error: frv_cgen_cpu_open: no endianness specified" -msgstr "internal error: frv_cgen_cpu_open: no endianness specified" +#: ldlang.c:5725 +msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n" +msgstr "" -#: frv-opc.c:459 -#, c-format -msgid "internal error: bad vliw->next_slot value" -msgstr "internal error: bad vliw->next_slot value" +#: ldlang.c:5750 +msgid "%P%F:%s: can't set start address\n" +msgstr "%P%F:%s: Startadresse kann nicht gesetzt werden\n" -#: frv-opc.c:769 -#, c-format -msgid "internal error: bad major code" -msgstr "internal error: bad major code" +#: ldlang.c:5763 ldlang.c:5782 +msgid "%P%F: can't set start address\n" +msgstr "%P%F: Startadresse kann nicht gesetzt werden\n" -#: frv-opc.c:819 -#, c-format -msgid "internal error: bad insn unit" -msgstr "internal error: bad insn unit" +#: ldlang.c:5775 +msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" +msgstr "" -#: h8300-dis.c:63 -#, c-format -msgid "internal error, h8_disassemble_init" -msgstr "internal error, h8_disassemble_init" +#: ldlang.c:5787 +msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" +msgstr "" -#: h8300-dis.c:314 -#, c-format -msgid "Hmmmm 0x%x" -msgstr "Hmmmm 0x%x" +#: ldlang.c:5842 +msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n" +msgstr "" -#: h8300-dis.c:691 -#, c-format -msgid "Don't understand 0x%x \n" -msgstr "Ich verstehe »0x%x« nicht.\n" +#: ldlang.c:5852 +msgid "%P%X: %s architecture of input file `%B' is incompatible with %s output\n" +msgstr "%P%X: %s-Architektur der Eingabedatei »%B« ist inkompatibel zur Ausgabe %s\n" -#: i386-dis.c:11058 -msgid "<internal disassembler error>" -msgstr "<interner Disassemblerfehler>" +#: ldlang.c:5874 +msgid "%P%X: failed to merge target specific data of file %B\n" +msgstr "%P%X: zielspezifische Daten der Datei %B können nicht zusammengeführt werden\n" -#: i386-dis.c:11353 -#, c-format +#: ldlang.c:5945 +msgid "%P%F: Could not define common symbol `%T': %E\n" +msgstr "" + +#: ldlang.c:5957 msgid "" "\n" -"The following i386/x86-64 specific disassembler options are supported for use\n" -"with the -M switch (multiple options should be separated by commas):\n" +"Allocating common symbols\n" msgstr "" + +#: ldlang.c:5958 +msgid "" +"Common symbol size file\n" "\n" -"Die folgenden i386/x86-64-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" +msgstr "" -#: i386-dis.c:11357 -#, c-format -msgid " x86-64 Disassemble in 64bit mode\n" -msgstr " x86-64 Im 64-Bit-Modus disassemblieren\n" +#: ldlang.c:6104 +msgid "%P%F: invalid syntax in flags\n" +msgstr "%P%F: ungültige Syntax in Flags\n" -#: i386-dis.c:11358 -#, c-format -msgid " i386 Disassemble in 32bit mode\n" -msgstr " i386 Im 32-Bit-Modus disassemblieren\n" +#: ldlang.c:6566 +msgid "%P%F: Failed to create hash table\n" +msgstr "%P%F: Hash-Tabelle konnte nicht erzeugt werden\n" -#: i386-dis.c:11359 -#, c-format -msgid " i8086 Disassemble in 16bit mode\n" -msgstr " i8086 Im 16-Bit-Modus disassemblieren\n" +#: ldlang.c:6589 +msgid "%P%F: %s: plugin reported error after all symbols read\n" +msgstr "%P%F: %s: Plugin meldete Fehler nach dem Lesen aller Symbole\n" -#: i386-dis.c:11360 -#, c-format -msgid " att Display instruction in AT&T syntax\n" -msgstr " att Maschinenbefehl in AT&T-syntax anzeigen\n" +#: ldlang.c:6905 +msgid "%P%F: multiple STARTUP files\n" +msgstr "%P%F: mehrere STARTUP-Dateien\n" -#: i386-dis.c:11361 -#, c-format -msgid " intel Display instruction in Intel syntax\n" -msgstr " intel Maschinenbefehl in Intel-Syntax anzeigen\n" +#: ldlang.c:6951 +msgid "%X%P:%S: section has both a load address and a load region\n" +msgstr "" -#: i386-dis.c:11362 -#, c-format -msgid "" -" att-mnemonic\n" -" Display instruction in AT&T mnemonic\n" +#: ldlang.c:7138 +msgid "%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them\n" msgstr "" -" att-mnemonic\n" -" Maschinenbefehl in AT&T-Mnemonic anzeigen\n" -#: i386-dis.c:11364 -#, c-format -msgid "" -" intel-mnemonic\n" -" Display instruction in Intel mnemonic\n" +#: ldlang.c:7210 +msgid "%F%P: no sections assigned to phdrs\n" msgstr "" -" intel-mnemonic\n" -" Maschinenbefehl in Intel-Mnemonic anzeigen\n" -#: i386-dis.c:11366 -#, c-format -msgid " addr64 Assume 64bit address size\n" -msgstr " addr64 64-Bit-Adressgröße annehmen\n" +#: ldlang.c:7248 +msgid "%F%P: bfd_record_phdr failed: %E\n" +msgstr "%F%P: bfd_record_phdr fehlgeschlagen: %E\n" -#: i386-dis.c:11367 -#, c-format -msgid " addr32 Assume 32bit address size\n" -msgstr " addr32 32-Bit-Adressgröße annehmen\n" +#: ldlang.c:7268 +msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" +msgstr "" -#: i386-dis.c:11368 -#, c-format -msgid " addr16 Assume 16bit address size\n" -msgstr " addr16 16-Bit-Adressgröße annehmen\n" +#: ldlang.c:7677 +msgid "%X%P: unknown language `%s' in version information\n" +msgstr "%X%P: unbekannte Sprache »%s« in Versionsinformation\n" -#: i386-dis.c:11369 -#, c-format -msgid " data32 Assume 32bit data size\n" -msgstr " data32 32-Bit-Datengröße annehmen\n" +#: ldlang.c:7822 +msgid "%X%P: anonymous version tag cannot be combined with other version tags\n" +msgstr "" -#: i386-dis.c:11370 -#, c-format -msgid " data16 Assume 16bit data size\n" -msgstr " data16 16-Bit-Datengröße annehmen\n" +#: ldlang.c:7831 +msgid "%X%P: duplicate version tag `%s'\n" +msgstr "%X%P: doppelte Versionskennzeichnung »%s«\n" -#: i386-dis.c:11371 -#, c-format -msgid " suffix Always display instruction suffix in AT&T syntax\n" -msgstr " suffix Maschinenbefehl-Suffix immer in AT&T-Syntax anzeigen\n" +#: ldlang.c:7852 ldlang.c:7861 ldlang.c:7879 ldlang.c:7889 +msgid "%X%P: duplicate expression `%s' in version information\n" +msgstr "%X%P: doppelter Ausdruck »%s« in Versionsinformation\n" -#: i386-dis.c:11372 -#, c-format -msgid " amd64 Display instruction in AMD64 ISA\n" -msgstr " amd64 Maschinenbefehl in AMD64-ISA anzeigen\n" +#: ldlang.c:7929 +msgid "%X%P: unable to find version dependency `%s'\n" +msgstr "" -#: i386-dis.c:11373 -#, c-format -msgid " intel64 Display instruction in Intel64 ISA\n" -msgstr " intel64 Maschinenbefehl in Intel64-ISA anzeigen\n" +#: ldlang.c:7952 +msgid "%X%P: unable to read .exports section contents\n" +msgstr "" -#: i386-dis.c:11936 -msgid "64-bit address is disabled" -msgstr "64-Bit-Adresse ist deaktiviert" +#: ldlang.c:8076 +msgid "%X%P: unknown feature `%s'\n" +msgstr "%X%P: unbekanntes Funktionsmerkmal »%s«\n" -#: i386-gen.c:732 -#, c-format -msgid "%s: error: " -msgstr "%s: Fehler: " +#: ldmain.c:239 +msgid "%X%P: can't set BFD default target to `%s': %E\n" +msgstr "%X%P: BFD-Standardziel kann nicht auf »%s« gesetzt werden: %E\n" -#: i386-gen.c:911 -#, c-format -msgid "%s: %d: unknown bitfield: %s\n" -msgstr "%s: %d: Unbekanntes Bitfeld: %s\n" +#: ldmain.c:303 lexsup.c:1071 +msgid "%P%F: %s: error loading plugin\n" +msgstr "%P%F: %s: Fehler beim Laden des Plugins\n" -#: i386-gen.c:913 -#, c-format -msgid "unknown bitfield: %s\n" -msgstr "Unbekanntes Bitfeld: %s\n" +#: ldmain.c:340 +msgid "using external linker script:" +msgstr "Externes Linker-Skript wird verwendet:" -#: i386-gen.c:976 -#, c-format -msgid "%s: %d: missing `)' in bitfield: %s\n" -msgstr "%s: %d: Hier fehlt eine »)« im Bitfeld: %s\n" +#: ldmain.c:342 +msgid "using internal linker script:" +msgstr "Internes Linker-Skript wird verwendet:" -#: i386-gen.c:1077 -#, c-format -msgid "unknown broadcast operand: %s\n" -msgstr "Unbekannter Broadcast-Operand: %s\n" +#: ldmain.c:379 +msgid "%P%F: no input files\n" +msgstr "%P%F: keine Eingabedateien\n" -#: i386-gen.c:1478 -#, c-format -msgid "can't find i386-reg.tbl for reading, errno = %s\n" -msgstr "Kann »i386-reg.tbl« nicht zum Lesen finden, errno = %s\n" +#: ldmain.c:383 +msgid "%P: mode %s\n" +msgstr "%P: Modus %s\n" -#: i386-gen.c:1556 -#, c-format -msgid "can't create i386-init.h, errno = %s\n" -msgstr "Kann i386-init.h nicht anlegen, errno = %s\n" +#: ldmain.c:399 +msgid "%P%F: cannot open map file %s: %E\n" +msgstr "" -#: i386-gen.c:1646 ia64-gen.c:2829 -#, c-format -msgid "unable to change directory to \"%s\", errno = %s\n" -msgstr "Kann nicht in das Verzeichnis »%s« wechseln, errno = %s\n" +#: ldmain.c:431 +msgid "%P: link errors found, deleting executable `%s'\n" +msgstr "" -#: i386-gen.c:1658 i386-gen.c:1661 -#, c-format -msgid "CpuMax != %d!\n" -msgstr "CpuMax != %d\n" +#: ldmain.c:440 +msgid "%F%B: final close failed: %E\n" +msgstr "%F%B: finales Schließen fehlgeschlagen: %E\n" -#: i386-gen.c:1665 -#, c-format -msgid "%d unused bits in i386_cpu_flags.\n" -msgstr "%d ungenutzte Bits in i386_cpu_flags.\n" +#: ldmain.c:466 +msgid "%X%P: unable to open for source of copy `%s'\n" +msgstr "%X%P: kann nicht als Quelle der Kopie »%s« geöffnet werden\n" -#: i386-gen.c:1672 -#, c-format -msgid "%d unused bits in i386_operand_type.\n" -msgstr "%d ungenutzte Bits in i386_operand_type.\n" +#: ldmain.c:469 +msgid "%X%P: unable to open for destination of copy `%s'\n" +msgstr "%X%P: kann nicht als Ziel der Kopie »%s« geöffnet werden\n" -#: i386-gen.c:1686 -#, c-format -msgid "can't create i386-tbl.h, errno = %s\n" -msgstr "Kann i386-tbl.h nicht anlegen, errno = %s\n" +#: ldmain.c:476 +msgid "%P: Error writing file `%s'\n" +msgstr "%P: Fehler beim Schreiben der Datei »%s«\n" -#: ia64-gen.c:306 +#: ldmain.c:481 pe-dll.c:1739 #, c-format -msgid "%s: Error: " -msgstr "%s: Fehler: " +msgid "%P: Error closing file `%s'\n" +msgstr "%P: Fehler beim Schließen der Datei »%s«\n" -#: ia64-gen.c:319 +#: ldmain.c:498 #, c-format -msgid "%s: Warning: " -msgstr "%s: Warnung: " +msgid "%s: total time in link: %ld.%06ld\n" +msgstr "" -#: ia64-gen.c:505 ia64-gen.c:736 +#: ldmain.c:501 #, c-format -msgid "multiple note %s not handled\n" -msgstr "Mehrfache Bemerkung »%s« nicht verarbeitet.\n" +msgid "%s: data size %ld\n" +msgstr "%s: Datengröße %ld\n" -#: ia64-gen.c:616 -msgid "can't find ia64-ic.tbl for reading\n" -msgstr "Kann »ia64-ic.tbl« nicht zum Lesen finden\n" +#: ldmain.c:585 +msgid "%P%F: missing argument to -m\n" +msgstr "%P%F: Argument zu -m fehlt\n" -#: ia64-gen.c:818 -#, c-format -msgid "can't find %s for reading\n" -msgstr "Kann »%s« nicht zum Lesen finden\n" +#: ldmain.c:633 ldmain.c:653 ldmain.c:685 +msgid "%P%F: bfd_hash_table_init failed: %E\n" +msgstr "%P%F: bfd_hash_table_init fehlgeschlagen: %E\n" -#: ia64-gen.c:1050 -#, c-format -msgid "" -"most recent format '%s'\n" -"appears more restrictive than '%s'\n" -msgstr "Das letzte Format »%s« scheint strenger zu sein als »%s«.\n" +#: ldmain.c:637 ldmain.c:657 +msgid "%P%F: bfd_hash_lookup failed: %E\n" +msgstr "%P%F: bfd_hash_lookup fehlgeschlagen: %E\n" -#: ia64-gen.c:1061 -#, c-format -msgid "overlapping field %s->%s\n" -msgstr "Überlappendes Feld »%s->%s«.\n" +#: ldmain.c:671 +msgid "%X%P: error: duplicate retain-symbols-file\n" +msgstr "" -#: ia64-gen.c:1258 -#, c-format -msgid "overwriting note %d with note %d (IC:%s)\n" -msgstr "Überschreibe Bemerkung %d mit Bemerkung %d (IC:%s)\n" +#: ldmain.c:715 +msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" +msgstr "%P%F: bfd_hash_lookup zum Einfügen fehlgeschlagen: %E\n" -#: ia64-gen.c:1465 -#, c-format -msgid "don't know how to specify %% dependency %s\n" -msgstr "Keine Ahnung, wie ich die Abhängigkeit »%% %s« angeben soll.\n" +#: ldmain.c:720 +msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" +msgstr "%P: »-retain-symbols-file« setzt »-s« und »-S« außer Kraft\n" -#: ia64-gen.c:1487 +#: ldmain.c:820 #, c-format -msgid "Don't know how to specify # dependency %s\n" -msgstr "Keine Ahnung, wie ich die Abhängigkeit »# %s« angeben soll.\n" +msgid "" +"Archive member included because of file (symbol)\n" +"\n" +msgstr "" -#: ia64-gen.c:1526 -#, c-format -msgid "IC:%s [%s] has no terminals or sub-classes\n" -msgstr "IC:%s [%s] hat weder Terminale noch Unterklassen\n" +#: ldmain.c:926 +msgid "%X%C: multiple definition of `%T'\n" +msgstr "%X%C: Mehrfachdefinition von »%T«\n" -#: ia64-gen.c:1529 -#, c-format -msgid "IC:%s has no terminals or sub-classes\n" -msgstr "IC:%s hat weder Terminale noch Unterklassen\n" +#: ldmain.c:929 +msgid "%D: first defined here\n" +msgstr "%D: hier zuerst definiert\n" -#: ia64-gen.c:1538 -#, c-format -msgid "no insns mapped directly to terminal IC %s [%s]" -msgstr "Kein Befehl ist dem Terminal-IC »%s [%s]« direkt zugeordnet" +#: ldmain.c:933 +msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" +msgstr "" -#: ia64-gen.c:1541 -#, c-format -msgid "no insns mapped directly to terminal IC %s\n" -msgstr "Kein Befehl ist dem Terminal-IC »%s« direkt zugeordnet.\n" +#: ldmain.c:987 +msgid "%B: warning: definition of `%T' overriding common\n" +msgstr "" -#: ia64-gen.c:1552 -#, c-format -msgid "class %s is defined but not used\n" -msgstr "Die Klasse »%s« wurde definiert, aber nicht benutzt.\n" +#: ldmain.c:990 +msgid "%B: warning: common is here\n" +msgstr "" -#: ia64-gen.c:1565 -#, c-format -msgid "Warning: rsrc %s (%s) has no chks\n" -msgstr "Warnung: Die Ressource »%s (%s)« hat keine »chks«.\n" +#: ldmain.c:997 +msgid "%B: warning: common of `%T' overridden by definition\n" +msgstr "" -#: ia64-gen.c:1568 -#, c-format -msgid "Warning: rsrc %s (%s) has no chks or regs\n" -msgstr "Warnung: Die Ressource »%s (%s)« hat keine »chks« oder Register.\n" +#: ldmain.c:1000 +msgid "%B: warning: defined here\n" +msgstr "" -#: ia64-gen.c:1572 -#, c-format -msgid "rsrc %s (%s) has no regs\n" -msgstr "Die Ressource »%s (%s)« hat keine Register\n" +#: ldmain.c:1007 +msgid "%B: warning: common of `%T' overridden by larger common\n" +msgstr "" -#: ia64-gen.c:2464 -#, c-format -msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n" -msgstr "IC Bemerkung %d in Opcode »%s (IC:%s)« verträgt sich nicht mit Ressource %s Bemerkung %d.\n" +#: ldmain.c:1010 +msgid "%B: warning: larger common is here\n" +msgstr "" -#: ia64-gen.c:2492 -#, c-format -msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n" -msgstr "IC Bemerkung %d für Opcode »%s (IC:%s)« verträgt sich nicht mit Ressource %s Bemerkung %d.\n" +#: ldmain.c:1014 +msgid "%B: warning: common of `%T' overriding smaller common\n" +msgstr "" -#: ia64-gen.c:2506 -#, c-format -msgid "opcode %s has no class (ops %d %d %d)\n" -msgstr "Opcode %s hat keine Klasse (Operanden %d %d %d)\n" +#: ldmain.c:1017 +msgid "%B: warning: smaller common is here\n" +msgstr "" -# We've been passed a w. Return with an error message so that -# cgen will try the next parsing option. -#. We've been passed a w. Return with an error message so that -#. cgen will try the next parsing option. -#: ip2k-asm.c:81 -msgid "W keyword invalid in FR operand slot." -msgstr "Schlüsselwort »W« ist im Operandenplatz »FR« ungültig." +#: ldmain.c:1021 +msgid "%B: warning: multiple common of `%T'\n" +msgstr "" -# Invalid offset present. -#. Invalid offset present. -#: ip2k-asm.c:106 -msgid "offset(IP) is not a valid form" -msgstr "»offset(IP)« ist keine gültige Form" +#: ldmain.c:1023 +msgid "%B: warning: previous common is here\n" +msgstr "" -# Found something there in front of (DP) but it's out -# of range. -#. Found something there in front of (DP) but it's out -#. of range. -#: ip2k-asm.c:154 -msgid "(DP) offset out of range." -msgstr "(DP) Offset außerhalb des gültigen Bereichs." +#: ldmain.c:1043 ldmain.c:1081 +msgid "%P: warning: global constructor %s used\n" +msgstr "" -# Found something there in front of (SP) but it's out -# of range. -#. Found something there in front of (SP) but it's out -#. of range. -#: ip2k-asm.c:195 -msgid "(SP) offset out of range." -msgstr "(SP) Offset außerhalb des gültigen Bereichs." +#: ldmain.c:1091 +msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" +msgstr "%P%F: Fehler im BFD-Backend: BFD_RELOC_CTOR wird nicht unterstützt\n" -#: ip2k-asm.c:211 -msgid "illegal use of parentheses" -msgstr "Unerlaubte Benutzung von Klammern" +#. We found a reloc for the symbol we are looking for. +#: ldmain.c:1145 ldmain.c:1147 ldmain.c:1149 ldmain.c:1167 ldmain.c:1212 +msgid "warning: " +msgstr "Warnung:" -#: ip2k-asm.c:218 -msgid "operand out of range (not between 1 and 255)" -msgstr "Operand außerhalb des gültigen Bereichs (1 bis 255)" +#: ldmain.c:1248 +msgid "%F%P: bfd_hash_table_init failed: %E\n" +msgstr "%F%P: bfd_hash_table_init fehlgeschlagen: %E\n" -# Something is very wrong. opindex has to be one of the above. -#. Something is very wrong. opindex has to be one of the above. -#: ip2k-asm.c:242 -msgid "parse_addr16: invalid opindex." -msgstr "parse_addr16: Ungültiger Operatorindex." +#: ldmain.c:1255 +msgid "%F%P: bfd_hash_lookup failed: %E\n" +msgstr "%F%P: bfd_hash_lookup fehlgeschlagen: %E\n" -#: ip2k-asm.c:296 -msgid "Byte address required. - must be even." -msgstr "Byteadresse benötigt -- muss gerade sein." +#: ldmain.c:1276 +msgid "%X%C: undefined reference to `%T'\n" +msgstr "%X%C: Warnung: undefinierter Verweis auf »%T«\n" -#: ip2k-asm.c:305 -msgid "cgen_parse_address returned a symbol. Literal required." -msgstr "cgen_parse_address hat Symbol zurückgegeben, muss jedoch ein Literal sein." +#: ldmain.c:1279 +msgid "%C: warning: undefined reference to `%T'\n" +msgstr "%C: Warnung: undefinierter Verweis auf »%T«\n" -#: ip2k-asm.c:360 -msgid "percent-operator operand is not a symbol" -msgstr "Der Prozent-Operator ist kein Symbol" +#: ldmain.c:1285 +msgid "%X%D: more undefined references to `%T' follow\n" +msgstr "%X%D: Warnung: weitere undefinierte Verweise auf »%T« folgen\n" -#: ip2k-asm.c:413 -msgid "Attempt to find bit index of 0" -msgstr "Versuch, ein gesetztes Bit von 0 zu bestimmen" +#: ldmain.c:1288 +msgid "%D: warning: more undefined references to `%T' follow\n" +msgstr "%D: Warnung: weitere undefinierte Verweise auf »%T« folgen\n" -#: ip2k-desc.c:1015 -#, c-format -msgid "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: ldmain.c:1299 +msgid "%X%B: undefined reference to `%T'\n" +msgstr "%X%B: Warnung: undefinierter Verweis auf »%T«\n" -#: ip2k-desc.c:1098 -#, c-format -msgid "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'" +#: ldmain.c:1302 +msgid "%B: warning: undefined reference to `%T'\n" +msgstr "%B: Warnung: undefinierter Verweis auf »%T«\n" -#: ip2k-desc.c:1117 -#, c-format -msgid "internal error: ip2k_cgen_cpu_open: no endianness specified" -msgstr "internal error: ip2k_cgen_cpu_open: no endianness specified" +#: ldmain.c:1308 +msgid "%X%B: more undefined references to `%T' follow\n" +msgstr "%X%B: Warnung: weitere undefinierte Verweise auf »%T« folgen\n" + +#: ldmain.c:1311 +msgid "%B: warning: more undefined references to `%T' follow\n" +msgstr "%B: Warnung: weitere undefinierte Verweise auf »%T« folgen\n" + +#: ldmain.c:1350 +msgid " additional relocation overflows omitted from the output\n" +msgstr "" -#: iq2000-asm.c:112 iq2000-asm.c:142 -msgid "immediate value cannot be register" -msgstr "Ein Direktoperand kann kein Register sein" +#: ldmain.c:1363 +msgid " relocation truncated to fit: %s against undefined symbol `%T'" +msgstr "" -#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70 -msgid "immediate value out of range" -msgstr "Direktoperand außerhalb des gültigen Bereichs" +#: ldmain.c:1368 +msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B" +msgstr "" -#: iq2000-asm.c:182 -msgid "21-bit offset out of range" -msgstr "21-Bit-Offset außerhalb des gültigen Bereichs" +#: ldmain.c:1380 +msgid " relocation truncated to fit: %s against `%T'" +msgstr "" -#: iq2000-desc.c:2020 -#, c-format -msgid "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: ldmain.c:1397 +msgid "%X%H: dangerous relocation: %s\n" +msgstr "" -#: iq2000-desc.c:2103 -#, c-format -msgid "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'" +#: ldmain.c:1412 +msgid "%X%H: reloc refers to symbol `%T' which is not being output\n" +msgstr "" -#: iq2000-desc.c:2122 +#: ldmisc.c:151 #, c-format -msgid "internal error: iq2000_cgen_cpu_open: no endianness specified" -msgstr "internal error: iq2000_cgen_cpu_open: no endianness specified" +msgid "no symbol" +msgstr "kein Symbol" -#: lm32-asm.c:166 -msgid "expecting gp relative address: gp(symbol)" -msgstr "Adresse relativ zu gp erwartet: gp(Symbol)" +#: ldmisc.c:248 +#, c-format +msgid "built in linker script:%u" +msgstr "" -#: lm32-asm.c:196 -msgid "expecting got relative address: got(symbol)" -msgstr "Adresse relativ zu got erwartet: got(Symbol)" +#: ldmisc.c:329 +msgid "%B: In function `%T':\n" +msgstr "%B: In Funktion »%T«:\n" -#: lm32-asm.c:226 -msgid "expecting got relative address: gotoffhi16(symbol)" -msgstr "Adresse relativ zu got erwartet: gotoffhi16(Symbol)" +#: ldmisc.c:464 +msgid "%F%P: internal error %s %d\n" +msgstr "%F%P: interner Fehler %s %d\n" -#: lm32-asm.c:256 -msgid "expecting got relative address: gotofflo16(symbol)" -msgstr "Adresse relativ zu got erwartet: gotofflo16(Symbol)" +#: ldmisc.c:513 +msgid "%P: internal error: aborting at %s line %d in %s\n" +msgstr "%P: interner Fehler: Abbruch bei %s Zeile %d in %s\n" -#: lm32-desc.c:1002 -#, c-format -msgid "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: ldmisc.c:516 +msgid "%P: internal error: aborting at %s line %d\n" +msgstr "%P: interner Fehler: Abbruch bei %s Zeile %d\n" -#: lm32-desc.c:1085 -#, c-format -msgid "internal error: lm32_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: lm32_cgen_cpu_open: unsupported argument `%d'" +#: ldmisc.c:518 +msgid "%P%F: please report this bug\n" +msgstr "%P%F: Bitte melden Sie diesen Fehler\n" -#: lm32-desc.c:1104 +#. Output for noisy == 2 is intended to follow the GNU standards. +#: ldver.c:39 #, c-format -msgid "internal error: lm32_cgen_cpu_open: no endianness specified" -msgstr "internal error: lm32_cgen_cpu_open: no endianness specified" +msgid "GNU ld %s\n" +msgstr "GNU ld %s\n" -#: m10200-dis.c:157 m10300-dis.c:580 +#: ldver.c:43 #, c-format -msgid "unknown\t0x%04lx" -msgstr "unbekannt\t0x%04lx" +msgid "Copyright 2011 Free Software Foundation, Inc.\n" +msgstr "Copyright 2011 Free Software Foundation, Inc.\n" -#: m10200-dis.c:327 +#: ldver.c:44 #, c-format -msgid "unknown\t0x%02lx" -msgstr "unbekannt\t0x%02lx" - -#: m32c-asm.c:117 -msgid "imm:6 immediate is out of range" -msgstr "Direktwert imm:6 liegt außerhalb des gültigen Bereichs" +msgid "" +"This program is free software; you may redistribute it under the terms of\n" +"the GNU General Public License version 3 or (at your option) a later version.\n" +"This program has absolutely no warranty.\n" +msgstr "" +"Dieses Programm ist freie Software: Sie können es unter den Bedingungen der\n" +"GNU General Public License weitergeben, entweder in Version 3 oder (nach Ihrer Wahl)\n" +"jeder neueren Version.\n" +"Dieses Programm wird ohne jegliche Gewährleistung geliefert.\n" -#: m32c-asm.c:145 +#: ldver.c:54 #, c-format -msgid "%dsp8() takes a symbolic address, not a number" -msgstr "%dsp8() hat als Parameter eine symbolische Adresse, keine Zahl" +msgid " Supported emulations:\n" +msgstr " Unterstützte Emulationen:\n" -#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253 -msgid "dsp:8 immediate is out of range" -msgstr "Direktwert dsp:6 liegt außerhalb des gültigen Bereichs" +#: ldwrite.c:62 ldwrite.c:207 +msgid "%P%F: bfd_new_link_order failed\n" +msgstr "%P%F: bfd_new_link_order fehlgeschlagen\n" -#: m32c-asm.c:184 m32c-asm.c:188 -msgid "Immediate is out of range -8 to 7" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs -8 bis 7" +#: ldwrite.c:365 +msgid "%F%P: cannot create split section name for %s\n" +msgstr "" -#: m32c-asm.c:209 m32c-asm.c:213 -msgid "Immediate is out of range -7 to 8" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs -7 bis 8" +#: ldwrite.c:377 +msgid "%F%P: clone section failed: %E\n" +msgstr "" -#: m32c-asm.c:281 +#: ldwrite.c:418 #, c-format -msgid "%dsp16() takes a symbolic address, not a number" -msgstr "%dsp16() hat als Parameter eine symbolische Adresse, keine Zahl" +msgid "%8x something else\n" +msgstr "" -#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373 -msgid "dsp:16 immediate is out of range" -msgstr "Direktwert dsp:16 liegt außerhalb des gültigen Bereichs" +#: ldwrite.c:588 +msgid "%F%P: final link failed: %E\n" +msgstr "" -#: m32c-asm.c:399 -msgid "dsp:20 immediate is out of range" -msgstr "Direktwert dsp:20 liegt außerhalb des gültigen Bereichs" +#: lexsup.c:220 lexsup.c:374 +msgid "KEYWORD" +msgstr "SCHLÜSSELWORT" -#: m32c-asm.c:425 m32c-asm.c:445 -msgid "dsp:24 immediate is out of range" -msgstr "Direktwert dsp:24 liegt außerhalb des gültigen Bereichs" +#: lexsup.c:220 +msgid "Shared library control for HP/UX compatibility" +msgstr "Steuerung gemeinsam genutzter Bibliotheken für HP/UX-Kompatibilität" -#: m32c-asm.c:478 -msgid "immediate is out of range 1-2" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs 1 bis 2" +#: lexsup.c:223 +msgid "ARCH" +msgstr "ARCH" -#: m32c-asm.c:496 -msgid "immediate is out of range 1-8" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs 1 bis 8" +#: lexsup.c:223 +msgid "Set architecture" +msgstr "Architektur festlegen" -#: m32c-asm.c:514 -msgid "immediate is out of range 0-7" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs 0 bis 7" +#: lexsup.c:225 lexsup.c:493 +msgid "TARGET" +msgstr "ZIEL" -#: m32c-asm.c:550 -msgid "immediate is out of range 2-9" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs 2 bis 9" +#: lexsup.c:225 +msgid "Specify target for following input files" +msgstr "Ziel für die folgenden Eingabedateien festlegen" -#: m32c-asm.c:568 -msgid "Bit number for indexing general register is out of range 0-15" -msgstr "Die Bitnummer, um das allgemeine Register zu indizieren, ist außerhalb des gültigen Bereichs 0-15" +#: lexsup.c:228 lexsup.c:279 lexsup.c:303 lexsup.c:316 lexsup.c:318 +#: lexsup.c:447 lexsup.c:509 lexsup.c:572 lexsup.c:585 +msgid "FILE" +msgstr "DATEI" -#: m32c-asm.c:606 m32c-asm.c:662 -msgid "bit,base is out of range" -msgstr "Bit,Basis liegt außerhalb des gültigen Bereichs" +#: lexsup.c:228 +msgid "Read MRI format linker script" +msgstr "" -#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666 -msgid "bit,base out of range for symbol" -msgstr "Bit,Basis liegt außerhalb des gültigen Bereichs für Symbol" +#: lexsup.c:230 +msgid "Force common symbols to be defined" +msgstr "" -#: m32c-asm.c:802 -msgid "not a valid r0l/r0h pair" -msgstr "Kein gültiges r0l/r0h-Paar" +#: lexsup.c:234 lexsup.c:553 lexsup.c:555 lexsup.c:557 lexsup.c:559 +msgid "ADDRESS" +msgstr "ADRESSE" -#: m32c-asm.c:832 -msgid "Invalid size specifier" -msgstr "Ungültige Größenangabe" +#: lexsup.c:234 +msgid "Set start address" +msgstr "Startadresse festlegen" -#: m32c-desc.c:63033 -#, c-format -msgid "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:236 +msgid "Export all dynamic symbols" +msgstr "Alle dynamischen Symbole exportieren" -#: m32c-desc.c:63116 -#, c-format -msgid "internal error: m32c_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: m32c_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:238 +msgid "Undo the effect of --export-dynamic" +msgstr "Den Effekt von --export-dynamic rückgängig machen" -#: m32c-desc.c:63135 -#, c-format -msgid "internal error: m32c_cgen_cpu_open: no endianness specified" -msgstr "internal error: m32c_cgen_cpu_open: no endianness specified" +#: lexsup.c:240 +msgid "Link big-endian objects" +msgstr "Big-Endian-Objekte verlinken" -#: m32r-desc.c:1365 -#, c-format -msgid "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:242 +msgid "Link little-endian objects" +msgstr "Little-Endian-Objekte verlinken" -#: m32r-desc.c:1448 -#, c-format -msgid "internal error: m32r_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: m32r_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:244 lexsup.c:247 +msgid "SHLIB" +msgstr "SHLIB" -#: m32r-desc.c:1467 -#, c-format -msgid "internal error: m32r_cgen_cpu_open: no endianness specified" -msgstr "internal error: m32r_cgen_cpu_open: no endianness specified" +#: lexsup.c:244 +msgid "Auxiliary filter for shared object symbol table" +msgstr "" -#: m68k-dis.c:1292 -#, c-format -msgid "<function code %d>" -msgstr "<Funktionscode %d>" +#: lexsup.c:247 +msgid "Filter for shared object symbol table" +msgstr "" -#: m68k-dis.c:1455 -#, c-format -msgid "<internal error in opcode table: %s %s>\n" -msgstr "<interner Fehler in der Opcode-Tabelle: %s %s>\n" +#: lexsup.c:250 +msgid "Ignored" +msgstr "Ignoriert" -#: mep-asm.c:129 -msgid "Only $tp or $13 allowed for this opcode" -msgstr "Dieser Opcode kann nur $tp oder $13 als Parameter haben" +#: lexsup.c:252 +msgid "SIZE" +msgstr "GRÖSSE" -#: mep-asm.c:143 -msgid "Only $sp or $15 allowed for this opcode" -msgstr "Dieser Opcode kann nur $sp oder $15 als Parameter haben" +#: lexsup.c:252 +msgid "Small data size (if no size, same as --shared)" +msgstr "" -#: mep-asm.c:308 mep-asm.c:504 -#, c-format -msgid "invalid %function() here" -msgstr "%function() ist hier ungültig" +#: lexsup.c:255 +msgid "FILENAME" +msgstr "DATEINAME" -#: mep-asm.c:336 -msgid "Immediate is out of range -32768 to 32767" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs -32768 bis 32767" +#: lexsup.c:255 +msgid "Set internal name of shared library" +msgstr "Internen Namen der gemeinsam genutzten Bibliothek festlegen" -#: mep-asm.c:356 -msgid "Immediate is out of range 0 to 65535" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs 0 bis 65535" +#: lexsup.c:257 +msgid "PROGRAM" +msgstr "PROGRAMM" -#: mep-asm.c:549 mep-asm.c:562 -msgid "Immediate is out of range -512 to 511" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs -512 bis 511" +#: lexsup.c:257 +msgid "Set PROGRAM as the dynamic linker to use" +msgstr "PROGRAMM als zu verwendenden dynamischen Linker festlegen" -#: mep-asm.c:554 mep-asm.c:563 -msgid "Immediate is out of range -128 to 127" -msgstr "Direktwert liegt außerhalb des gültigen Bereichs -128 bis 127" +#: lexsup.c:260 +msgid "LIBNAME" +msgstr "BIBNAME" -#: mep-asm.c:558 -msgid "Value is not aligned enough" -msgstr "Der Wert ist nicht ausreichend ausgerichtet" +#: lexsup.c:260 +msgid "Search for library LIBNAME" +msgstr "Nach der Bibliothek BIBNAME suchen" -#: mep-desc.c:6226 -#, c-format -msgid "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:262 +msgid "DIRECTORY" +msgstr "VERZEICHNIS" -#: mep-desc.c:6309 -#, c-format -msgid "internal error: mep_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: mep_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:262 +msgid "Add DIRECTORY to library search path" +msgstr "VERZEICHNIS zum Suchpfad für Bibliotheken hinzufügen" -#: mep-desc.c:6328 -#, c-format -msgid "internal error: mep_cgen_cpu_open: no endianness specified" -msgstr "internal error: mep_cgen_cpu_open: no endianness specified" +#: lexsup.c:265 +msgid "Override the default sysroot location" +msgstr "" -#: mips-dis.c:1800 mips-dis.c:2026 -#, c-format -msgid "# internal error, undefined operand in `%s %s'" -msgstr "# Interner Fehler, undefinierter Operand in „%s %s“" +#: lexsup.c:267 +msgid "EMULATION" +msgstr "EMULATION" -#: mips-dis.c:2615 -msgid "Use canonical instruction forms.\n" -msgstr "Kanonische Form der Befehle verwenden.\n" +#: lexsup.c:267 +msgid "Set emulation" +msgstr "Emulation setzen" -# We couldn't parse it. -#: mips-dis.c:2617 -msgid "Recognize MSA instructions.\n" -msgstr "MSA-Befehle erkennen.\n" +#: lexsup.c:269 +msgid "Print map file on standard output" +msgstr "" -#: mips-dis.c:2619 -msgid "Recognize the virtualization ASE instructions.\n" -msgstr "ASE-Befehle für Virtualisierung erkennen.\n" +#: lexsup.c:271 +msgid "Do not page align data" +msgstr "" -#: mips-dis.c:2621 -msgid "" -"Recognize the eXtended Physical Address (XPA) ASE\n" -" instructions.\n" +#: lexsup.c:273 +msgid "Do not page align data, do not make text readonly" msgstr "" -"Befehle für eXtended Physical Address (XPA)\n" -" Adressraumerweiterung erkennen.\n" -#: mips-dis.c:2624 -msgid "Recognize the Global INValidate (GINV) ASE instructions.\n" -msgstr "Befehle für Global INValidate (GINV) Adressraumerweiterung erkennen.\n" +#: lexsup.c:276 +msgid "Page align data, make text readonly" +msgstr "" -#: mips-dis.c:2628 -msgid "Recognize the Loongson MultiMedia extensions Instructions (MMI) ASE instructions.\n" -msgstr "Die Loongson-ASE-Befehle für MultiMedia extensions Instructions (MMI) erkennen.\n" +#: lexsup.c:279 +msgid "Set output file name" +msgstr "Name der Ausgabedatei festlegen" -#: mips-dis.c:2632 -msgid "Recognize the Loongson Content Address Memory (CAM) instructions.\n" -msgstr "Die Loongson-Befehle für Content Address Memory (CAM) erkennen.\n" +#: lexsup.c:281 +msgid "Optimize output file" +msgstr "Ausgabedatei optimieren" -#: mips-dis.c:2636 -msgid "Recognize the Loongson EXTensions (EXT) instructions.\n" -msgstr "Die Loongson-Befehle für EXTensions (EXT) erkennen.\n" +#: lexsup.c:284 +msgid "PLUGIN" +msgstr "PLUGIN" -#: mips-dis.c:2640 -msgid "Recognize the Loongson EXTensions R2 (EXT2) instructions.\n" -msgstr "Die Loongson-Befehle für EXTensions R2 (EXT2) erkennen.\n" +#: lexsup.c:284 +msgid "Load named plugin" +msgstr "Benanntes Plugin laden" -#: mips-dis.c:2643 -msgid "" -"Print GPR names according to specified ABI.\n" -" Default: based on binary being disassembled.\n" -msgstr "" -"Namen der Mehrzweckregister entsprechend des angegebenen ABI ausgeben.\n" -"Standard: abhängig von der Binärdatei, die disassembliert wird.\n" +#: lexsup.c:286 +msgid "ARG" +msgstr "ARG" -#: mips-dis.c:2646 -msgid "" -"Print FPR names according to specified ABI.\n" -" Default: numeric.\n" -msgstr "" -"FPR-Namen entsprechend des angegebenen ABI ausgeben.\n" -" Vorgabe: numerisch.\n" +#: lexsup.c:286 +msgid "Send arg to last-loaded plugin" +msgstr "Argument an zuletzt geladenes Plugin senden" -#: mips-dis.c:2649 -msgid "" -"Print CP0 register names according to specified architecture.\n" -" Default: based on binary being disassembled.\n" +#: lexsup.c:288 lexsup.c:291 +msgid "Ignored for GCC LTO option compatibility" msgstr "" -"CP0-Registernamen entsprechend der angegebenen Architektur ausgeben.\n" -" Vorgabe: abhängig von der Binärdatei, die disassembliert wird.\n" -#: mips-dis.c:2653 -msgid "" -"Print HWR names according to specified architecture.\n" -" Default: based on binary being disassembled.\n" +#: lexsup.c:295 +msgid "Ignored for SVR4 compatibility" +msgstr "Ignoriert für SVR4-Kompatibilität" + +#: lexsup.c:299 +msgid "Generate relocatable output" msgstr "" -"HWR-Namen entsprechend der angegebenen Architektur ausgeben.\n" -" Vorgabe: abhängig von der Binärdatei, die disassembliert wird.\n" -#: mips-dis.c:2656 -msgid "Print GPR and FPR names according to specified ABI.\n" -msgstr "GPR- und FPR-Namen entsprechend des angegebenen ABI ausgeben.\n" +#: lexsup.c:303 +msgid "Just link symbols (if directory, same as --rpath)" +msgstr "Symbole nur linken (falls Verzeichnis, gleichbedeutend mit --rpath)" -#: mips-dis.c:2658 -msgid "" -"Print CP0 register and HWR names according to specified\n" -" architecture." -msgstr "CP0-Register und HWR-Namen entsprechend der angegebenen Architektur ausgeben." +#: lexsup.c:306 +msgid "Strip all symbols" +msgstr "" -#: mips-dis.c:2744 -#, c-format -msgid "" -"\n" -"The following MIPS specific disassembler options are supported for use\n" -"with the -M switch (multiple options should be separated by commas):\n" -"\n" +#: lexsup.c:308 +msgid "Strip debugging symbols" msgstr "" -"\n" -"Die folgenden MIPS-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" -"\n" -#: mips-dis.c:2778 -#, c-format -msgid "" -"\n" -" For the options above, the following values are supported for \"%s\":\n" -" " +#: lexsup.c:310 +msgid "Strip symbols in discarded sections" msgstr "" -"\n" -" Für die obigen Optionen werden die folgenden Werte für »%s« unterstützt:\n" -" " -#: mmix-dis.c:33 -#, c-format -msgid "bad case %d (%s) in %s:%d" -msgstr "internal error: case %d (%s) in %s:%d" +#: lexsup.c:312 +msgid "Do not strip symbols in discarded sections" +msgstr "" -#: mmix-dis.c:42 -#, c-format -msgid "internal: non-debugged code (test-case missing): %s:%d" -msgstr "internal error: non-debugged code (test-case missing): %s:%d" +#: lexsup.c:314 +msgid "Trace file opens" +msgstr "Dateiöffnungen verfolgen" -#: mmix-dis.c:52 -msgid "(unknown)" -msgstr "(unbekannt)" +#: lexsup.c:316 +msgid "Read linker script" +msgstr "Linker-Skript lesen" -#: mmix-dis.c:510 -#, c-format -msgid "*unknown operands type: %d*" -msgstr "Unbekannter Operandentyp: %d*" +#: lexsup.c:318 +msgid "Read default linker script" +msgstr "Vorgebenes Linker-Skript lesen" -#: msp430-decode.opc:145 rl78-decode.opc:106 -#, c-format -msgid "internal error: immediate() called with invalid byte count %d" -msgstr "internal error: immediate() called with invalid byte count %d" +#: lexsup.c:322 lexsup.c:340 lexsup.c:424 lexsup.c:445 lexsup.c:546 +#: lexsup.c:575 lexsup.c:614 +msgid "SYMBOL" +msgstr "SYMBOL" -#: msp430-dis.c:59 -#, c-format -msgid "Warning: disassembly unreliable - not enough bytes available" -msgstr "Warnung: Disassemblat unzuverlässig – nicht genügend Bytes verfügbar" +#: lexsup.c:322 +msgid "Start with undefined reference to SYMBOL" +msgstr "" -#: msp430-dis.c:65 -#, c-format -msgid "Error: read from memory failed" -msgstr "Fehler: Lesen aus dem Speicher fehlgeschlagen" +#: lexsup.c:325 +msgid "[=SECTION]" +msgstr "" -#: msp430-dis.c:499 -msgid "Warning: illegal as emulation instr" -msgstr "Warnung: Ungültig als Emulations-Maschinenbefehl" +#: lexsup.c:326 +msgid "Don't merge input [SECTION | orphan] sections" +msgstr "" -#. R2/R3 are illegal as dest: may be data section. -#: msp430-dis.c:591 -msgid "Warning: illegal as 2-op instr" -msgstr "Warnung: Ungültig als 2-Op-Maschinenbefehl" +#: lexsup.c:328 +msgid "Build global constructor/destructor tables" +msgstr "" -#: msp430-dis.c:1002 -msgid "Warning: unrecognised CALLA addressing mode" -msgstr "Warnung: Unbekannter CALLA-Adressierungsmodus" +#: lexsup.c:330 +msgid "Print version information" +msgstr "Versionsinformationen ausgeben" -#: msp430-dis.c:1303 msp430-dis.c:1324 msp430-dis.c:1345 -#, c-format -msgid "Warning: reserved use of A/L and B/W bits detected" -msgstr "Warnung: Benutzung der reservierten A/L- und B/W-Bits erkannt" +#: lexsup.c:332 +msgid "Print version and emulation information" +msgstr "Versions- und Emulationsinformationen ausgeben" -#: mt-asm.c:110 mt-asm.c:190 -msgid "Operand out of range. Must be between -32768 and 32767." -msgstr "Operand außerhalb des gültigen Bereichs -32768 bis 32767." +#: lexsup.c:334 +msgid "Discard all local symbols" +msgstr "Alle lokalen Symbole verwerfen" -#: mt-asm.c:149 -msgid "Biiiig Trouble in parse_imm16!" -msgstr "Oh, oh. Hier ist richtig was kaputt in parse_imm16!" +#: lexsup.c:336 +msgid "Discard temporary local symbols (default)" +msgstr "Temporäre lokale Symbole verwerfen (Vorgabe)" -#: mt-asm.c:157 -msgid "The percent-operator's operand is not a symbol" -msgstr "Der Operand des Prozent-Operators ist kein Symbol" +#: lexsup.c:338 +msgid "Don't discard any local symbols" +msgstr "Lokale Symbole niemals verwerfen" -#: mt-asm.c:395 -msgid "invalid operand. type may have values 0,1,2 only." -msgstr "Ungültiger Operand. Die Art kann nur 0, 1 oder 2 sein." +#: lexsup.c:340 +msgid "Trace mentions of SYMBOL" +msgstr "" -#: mt-desc.c:1146 -#, c-format -msgid "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:342 lexsup.c:511 lexsup.c:513 +msgid "PATH" +msgstr "PFAD" -#: mt-desc.c:1229 -#, c-format -msgid "internal error: mt_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: mt_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:342 +msgid "Default search path for Solaris compatibility" +msgstr "Vorgegebener Suchpfad für Solaris-Kompatibilität" -#: mt-desc.c:1248 -#, c-format -msgid "internal error: mt_cgen_cpu_open: no endianness specified" -msgstr "internal error: mt_cgen_cpu_open: no endianness specified" +#: lexsup.c:345 +msgid "Start a group" +msgstr "Gruppe starten" -#: nds32-asm.c:1760 -#, c-format -msgid "internal error: unknown operand, %s" -msgstr "internal error: unknown operand, %s" +#: lexsup.c:347 +msgid "End a group" +msgstr "Gruppe beenden" -#: nds32-asm.c:2396 -#, c-format -msgid "internal error: don't know how to handle parsing results" -msgstr "internal error: don't know how to handle parsing results" +#: lexsup.c:351 +msgid "Accept input files whose architecture cannot be determined" +msgstr "Eingabedateien akzeptieren, deren Architektur nicht ermittelt werden kann" -#: nds32-asm.c:2404 -#, c-format -msgid "internal error: unknown hardware resource" -msgstr "internal error: unknown hardware resource" +#: lexsup.c:355 +msgid "Reject input files whose architecture is unknown" +msgstr "Eingabedateien abweisen, deren Architektur unbekannt ist" -#: nfp-dis.c:927 -msgid "<invalid_instruction>:" -msgstr "<ungültiger Maschinenbefehl>" +#: lexsup.c:367 +msgid "Only set DT_NEEDED for following dynamic libs if used" +msgstr "" -#: nfp-dis.c:1331 -msgid ", <invalid CRC operator>, " -msgstr ", <ungültiger CRC-Operator>, " +#: lexsup.c:370 +msgid "" +"Always set DT_NEEDED for dynamic libraries mentioned on\n" +" the command line" +msgstr "" -#: nfp-dis.c:1683 -msgid "<invalid branch>[" -msgstr "<ungültiger Zweig>[" +#: lexsup.c:374 +msgid "Ignored for SunOS compatibility" +msgstr "Ignoriert wegen SunOS-Kompatibilität" -#: nfp-dis.c:2052 nfp-dis.c:2323 -#, c-format -msgid "<invalid cmd target %d:%d:%d>[]" -msgstr "<Ungültiges Befehlsziel %d:%d:%d>[]" +#: lexsup.c:376 +msgid "Link against shared libraries" +msgstr "" -#: nfp-dis.c:2063 nfp-dis.c:2334 -#, c-format -msgid "<invalid cmd action %d:%d:%d>[]" -msgstr "<Ungültige Befehlsaktion %d:%d:%d>[]" +#: lexsup.c:382 +msgid "Do not link against shared libraries" +msgstr "" -#: nfp-dis.c:2555 -msgid "File has no ME-Config section." -msgstr "Datei hat keinen ME-Config-Abschnitt." +#: lexsup.c:390 +msgid "Bind global references locally" +msgstr "" -#: nfp-dis.c:2569 -msgid "File has invalid ME-Config section." -msgstr "Datei hat ungültigen ME-Config-Abschnitt." +#: lexsup.c:392 +msgid "Bind global function references locally" +msgstr "" -#: nfp-dis.c:2711 -#, c-format -msgid "Error processing section %u " -msgstr "Fehler beim Verarbeiten von Abschnitt %u " +#: lexsup.c:394 +msgid "Check section addresses for overlaps (default)" +msgstr "" -#: nfp-dis.c:2740 -#, c-format -msgid "Invalid NFP option: %s" -msgstr "Ungültige NFP-Option: %s" +#: lexsup.c:397 +msgid "Do not check section addresses for overlaps" +msgstr "Abschnittsadressen nicht auf Überlappungen prüfen" -#: nfp-dis.c:2972 -#, c-format -msgid "" -"\n" -"The following NFP specific disassembler options are supported for use\n" -"with the -M switch (multiple options should be separated by commas):\n" +#: lexsup.c:401 +msgid "Copy DT_NEEDED links mentioned inside DSOs that follow" msgstr "" -"\n" -"Die folgenden NFP-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" -#: nfp-dis.c:2976 -#, c-format -msgid "" -"\n" -" no-pc\t\t Don't print program counter prefix.\n" -" ctx4\t\t Force disassembly using 4-context mode.\n" -" ctx8\t\t Force 8-context mode, takes precedence." +#: lexsup.c:405 +msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow" msgstr "" -"\n" -" no-pc\t\t Programmzähler-Präfix nicht ausgeben.\n" -" ctx4\t\t Disassemblieren mit 4-Kontext-Modus erzwingen.\n" -" ctx8\t\t 8-Kontext-Modus erzwingen, hat Vorrang." -#: nios2-dis.c:135 -#, c-format -msgid "out of memory" -msgstr "Zu wenig Speicher" - -#: nios2-dis.c:263 -#, c-format -msgid "internal error: broken opcode descriptor for `%s %s'" -msgstr "internal error: broken opcode descriptor for `%s %s'" +#: lexsup.c:409 +msgid "Output cross reference table" +msgstr "Querverweis-Tabelle ausgeben" -# I and Z are output operands and can`t be immediate -# * A is an address and we can`t have the address of -# * an immediate either. We don't know how much to increase -# * aoffsetp by since whatever generated this is broken -# * anyway! -#. I and Z are output operands and can`t be immediate -#. A is an address and we can`t have the address of -#. an immediate either. We don't know how much to increase -#. aoffsetp by since whatever generated this is broken -#. anyway! -#: ns32k-dis.c:533 -#, c-format -msgid "$<undefined>" -msgstr "$<undefiniert>" +#: lexsup.c:411 +msgid "SYMBOL=EXPRESSION" +msgstr "SYMBOL=AUSDRUCK" -#: or1k-asm.c:55 -msgid "relocation invalid for store" -msgstr "Verlagerung für Speicherbefehl ungültig" +#: lexsup.c:411 +msgid "Define a symbol" +msgstr "Ein Symbol definieren" -#: or1k-asm.c:56 -msgid "internal relocation type invalid" -msgstr "Interne Verlagerungsart ungültig" +#: lexsup.c:413 +msgid "[=STYLE]" +msgstr "[=STIL]" -#: or1k-desc.c:1978 -#, c-format -msgid "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:413 +msgid "Demangle symbol names [using STYLE]" +msgstr "" -#: or1k-desc.c:2061 -#, c-format -msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: or1k_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:416 +msgid "Generate embedded relocs" +msgstr "" -#: or1k-desc.c:2080 -#, c-format -msgid "internal error: or1k_cgen_cpu_open: no endianness specified" -msgstr "internal error: or1k_cgen_cpu_open: no endianness specified" +#: lexsup.c:418 +msgid "Treat warnings as errors" +msgstr "Warnungen als Fehler auffassen" -#: ppc-dis.c:370 -#, c-format -msgid "warning: ignoring unknown -M%s option" -msgstr "Warnung: Unbekannte Option »-M%s« wird ignoriert" +#: lexsup.c:421 +msgid "Do not treat warnings as errors (default)" +msgstr "Warnungen nicht als Fehler auffassen (Vorgabe)" -#: ppc-dis.c:858 -#, c-format -msgid "" -"\n" -"The following PPC specific disassembler options are supported for use with\n" -"the -M switch:\n" +#: lexsup.c:424 +msgid "Call SYMBOL at unload-time" msgstr "" -"\n" -"Die folgenden PPC-spezifischen Disassembleroptionen werden in Kombination\n" -"mit dem Schalter »-M« unterstützt:\n" -#: ppc-opc.c:51 ppc-opc.c:74 ppc-opc.c:100 ppc-opc.c:130 -msgid "invalid register" -msgstr "Ungültiges Register" +#: lexsup.c:426 +msgid "Force generation of file with .exe suffix" +msgstr "Erzeugung der Datei mit Endung .exe erzwingen" -#: ppc-opc.c:384 ppc-opc.c:412 -msgid "invalid conditional option" -msgstr "Ungültige bedingte Option" +#: lexsup.c:428 +msgid "Remove unused sections (on some targets)" +msgstr "Ungenutzte Abschnitte entfernen (in einigen Zielen)" -#: ppc-opc.c:386 ppc-opc.c:414 -msgid "invalid counter access" -msgstr "Ungültiger Zugriff auf Zähler" +#: lexsup.c:431 +msgid "Don't remove unused sections (default)" +msgstr "Ungenutzte Abschnitte nicht entfernen (Vorgabe)" -#: ppc-opc.c:416 -msgid "attempt to set y bit when using + or - modifier" -msgstr "Versuch, das y-Bit zusammen mit dem Modifikator »+« oder »-« zu setzen" +#: lexsup.c:434 +msgid "List removed unused sections on stderr" +msgstr "" -#: ppc-opc.c:507 -msgid "invalid mask field" -msgstr "Ungültiges Maskierungsfeld" +#: lexsup.c:437 +msgid "Do not list removed unused sections" +msgstr "" -#: ppc-opc.c:530 -msgid "invalid mfcr mask" -msgstr "Ungültige mfcr-Maske" +#: lexsup.c:440 +msgid "Set default hash table size close to <NUMBER>" +msgstr "" -#: ppc-opc.c:606 -msgid "illegal L operand value" -msgstr "Unerlaubter Wert für L-Operanden" +#: lexsup.c:443 +msgid "Print option help" +msgstr "Hilfe zu Optionen ausgeben" -#: ppc-opc.c:645 -msgid "incompatible L operand value" -msgstr "Inkompatibler L-Operandenwert" +#: lexsup.c:445 +msgid "Call SYMBOL at load-time" +msgstr "" -#: ppc-opc.c:684 ppc-opc.c:719 -msgid "illegal bitmask" -msgstr "Ungültige Bitmaske" +#: lexsup.c:447 +msgid "Write a map file" +msgstr "" -#: ppc-opc.c:806 -msgid "address register in load range" -msgstr "Adressregister im Ladebereich (load range)" +#: lexsup.c:449 +msgid "Do not define Common storage" +msgstr "" -#: ppc-opc.c:872 -msgid "index register in load range" -msgstr "Indexregister im Ladebereich (load range)" +#: lexsup.c:451 +msgid "Do not demangle symbol names" +msgstr "" -#: ppc-opc.c:901 ppc-opc.c:986 -msgid "source and target register operands must be different" -msgstr "Die Operanden für das Quell- und Zielregister müssen verschieden sein" +#: lexsup.c:453 +msgid "Use less memory and more disk I/O" +msgstr "" -#: ppc-opc.c:931 -msgid "invalid register operand when updating" -msgstr "Ungültiger Registeroperand beim Aktualisieren" +#: lexsup.c:455 +msgid "Do not allow unresolved references in object files" +msgstr "Keine unaufgelösten Referenzen in Objektdateien erlauben" -#: ppc-opc.c:1049 -msgid "illegal immediate value" -msgstr "Unerlaubter Direktwert" +#: lexsup.c:458 +msgid "Allow unresolved references in shared libraries" +msgstr "" -#: ppc-opc.c:1154 -msgid "invalid bat number" -msgstr "Ungültige bat-Nummer" +#: lexsup.c:462 +msgid "Do not allow unresolved references in shared libs" +msgstr "" -#: ppc-opc.c:1189 -msgid "invalid sprg number" -msgstr "Ungültige sprg-Nummer" +#: lexsup.c:466 +msgid "Allow multiple definitions" +msgstr "Mehrfachdefinitionen erlauben" -#: ppc-opc.c:1226 -msgid "invalid tbr number" -msgstr "Ungültige tbr-Nummer" +#: lexsup.c:468 +msgid "Disallow undefined version" +msgstr "Keine undefinierten Versionen erlauben" -#: ppc-opc.c:1372 -msgid "invalid constant" -msgstr "Ungültige Konstante" +#: lexsup.c:470 +msgid "Create default symbol version" +msgstr "" -#: ppc-opc.c:1474 ppc-opc.c:1497 ppc-opc.c:1520 ppc-opc.c:1543 -msgid "UIMM = 00000 is illegal" -msgstr "UIMM = 0000 ist ungültig" +#: lexsup.c:473 +msgid "Create default symbol version for imported symbols" +msgstr "" -#: ppc-opc.c:1566 -msgid "UIMM values >7 are illegal" -msgstr "UIMM-Werte > 7 sind ungültig" +#: lexsup.c:476 +msgid "Don't warn about mismatched input files" +msgstr "" -#: ppc-opc.c:1589 -msgid "UIMM values >15 are illegal" -msgstr "UIMM-Werte > 15 sind ungültig" +#: lexsup.c:479 +msgid "Don't warn on finding an incompatible library" +msgstr "" -#: ppc-opc.c:1612 -msgid "GPR odd is illegal" -msgstr "GPR ungerade ist ungültig" +#: lexsup.c:482 +msgid "Turn off --whole-archive" +msgstr "--whole-archive abschalten" -#: ppc-opc.c:1635 ppc-opc.c:1658 -msgid "invalid offset" -msgstr "Ungültiger Offset" +#: lexsup.c:484 +msgid "Create an output file even if errors occur" +msgstr "Ausgabedateien auch dann erzeugen, wenn Fehler aufgetreten sind" -#: ppc-opc.c:1681 -msgid "invalid Ddd value" -msgstr "Ungültiger Ddd-Wert" +#: lexsup.c:489 +msgid "" +"Only use library directories specified on\n" +" the command line" +msgstr "" -#: riscv-dis.c:68 -#, c-format -msgid "unrecognized disassembler option: %s" -msgstr "Unbekannte Disassembler-Option: %s" +#: lexsup.c:493 +msgid "Specify target of output file" +msgstr "-" -#: riscv-dis.c:346 -#, c-format -msgid "# internal error, undefined modifier (%c)" -msgstr "# Interner Fehler, unerkannter Modifikator (%c)" +#: lexsup.c:496 +msgid "Print default output format" +msgstr "Vorgegebenes Ausgabeformat ausgeben" -#: riscv-dis.c:541 -#, c-format -msgid "" -"\n" -"The following RISC-V-specific disassembler options are supported for use\n" -"with the -M switch (multiple options should be separated by commas):\n" -msgstr "" -"\n" -"Die folgenden RISC-V-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" +#: lexsup.c:498 +msgid "Ignored for Linux compatibility" +msgstr "wird für Linux-Kompatibilität ignoriert" -#: riscv-dis.c:545 -#, c-format -msgid "" -"\n" -" numeric Print numeric register names, rather than ABI names.\n" +#: lexsup.c:501 +msgid "Reduce memory overheads, possibly taking much longer" msgstr "" -"\n" -" numeric Numerische Registernamen statt ABI-Namen ausgeben.\n" -#: riscv-dis.c:548 -#, c-format -msgid "" -"\n" -" no-aliases Disassemble only into canonical instructions, rather\n" -" than into pseudoinstructions.\n" +#: lexsup.c:504 +msgid "Reduce code size by using target specific optimizations" +msgstr "Codegröße durch zielspezifische Optionen verringern" + +#: lexsup.c:506 +msgid "Do not use relaxation techniques to reduce code size" msgstr "" -"\n" -" no-aliases Ausschließlich kanonische Befehle beim Disassemblieren\n" -" verwenden, anstelle von Pseudobefehlen.\n" -#: s390-dis.c:42 -msgid "Disassemble in ESA architecture mode" -msgstr "Im ESA-Architektur-Modus disassemblieren" +#: lexsup.c:509 +msgid "Keep only symbols listed in FILE" +msgstr "" -#: s390-dis.c:43 -msgid "Disassemble in z/Architecture mode" -msgstr "Im z/-Architektur-Modus disassemblieren" +#: lexsup.c:511 +msgid "Set runtime shared library search path" +msgstr "" -#: s390-dis.c:44 -msgid "Print unknown instructions according to length from first two bits" -msgstr "Unbekannte Befehle anhand ihrer Länge aus den ersten beiden Bits ausgeben" +#: lexsup.c:513 +msgid "Set link time shared library search path" +msgstr "" -#: s390-dis.c:76 -#, c-format -msgid "unknown S/390 disassembler option: %s" -msgstr "Unbekannte S/390-Disassembler-Option: %s" +#: lexsup.c:516 +msgid "Create a shared library" +msgstr "Eine Laufzeitbibliothek erzeugen" -#: s390-dis.c:416 -#, c-format -msgid "" -"\n" -"The following S/390 specific disassembler options are supported for use\n" -"with the -M switch (multiple options should be separated by commas):\n" +#: lexsup.c:520 +msgid "Create a position independent executable" msgstr "" -"\n" -"Die folgenden S/390-spezifischen Disassembleroptionen werden zusammen\n" -"mit dem Schalter »-M« unterstützt (mehrere Optionen sollten durch\n" -"Kommata getrennt werden):\n" - -#: score-dis.c:663 score-dis.c:870 score-dis.c:1031 score-dis.c:1145 -#: score-dis.c:1152 score-dis.c:1159 score7-dis.c:695 score7-dis.c:858 -msgid "<illegal instruction>" -msgstr "<ungültiger Maschinenbefehl>" -#: sparc-dis.c:308 sparc-dis.c:318 -#, c-format -msgid "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" -msgstr "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" +#: lexsup.c:524 +msgid "[=ascending|descending]" +msgstr "[=ascending|descending]" -#: sparc-dis.c:377 -#, c-format -msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" -msgstr "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n" +#: lexsup.c:525 +msgid "Sort common symbols by alignment [in specified order]" +msgstr "" -# Mark as non-valid instruction. -#. Mark as non-valid instruction. -#: sparc-dis.c:1098 -msgid "unknown" -msgstr "unbekannt" +#: lexsup.c:530 +msgid "name|alignment" +msgstr "" -#: v850-dis.c:453 -#, c-format -msgid "unknown operand shift: %x" -msgstr "Unbekannte Operandenverschiebung: %x" +#: lexsup.c:531 +msgid "Sort sections by name or maximum alignment" +msgstr "" -#: v850-dis.c:469 -#, c-format -msgid "unknown reg: %d" -msgstr "Unbekanntes Register: %d" +#: lexsup.c:533 +msgid "COUNT" +msgstr "ANZAHL" -# The functions used to insert and extract complicated operands. -# Note: There is a conspiracy between these functions and -# v850_insert_operand() in gas/config/tc-v850.c. Error messages -# containing the string 'out of range' will be ignored unless a -# specific command line option is given to GAS. -#. The functions used to insert and extract complicated operands. -#. Note: There is a conspiracy between these functions and -#. v850_insert_operand() in gas/config/tc-v850.c. Error messages -#. containing the string 'out of range' will be ignored unless a -#. specific command line option is given to GAS. -#: v850-opc.c:53 -msgid "displacement value is not in range and is not aligned" -msgstr "Der Abstandswert ist außerhalb des gültigen Bereichs und nicht ausgerichtet" +#: lexsup.c:533 +msgid "How many tags to reserve in .dynamic section" +msgstr "" + +#: lexsup.c:536 +msgid "[=SIZE]" +msgstr "[=GRÖSSE]" -#: v850-opc.c:54 -msgid "displacement value is out of range" -msgstr "Der Abstandswert ist außerhalb des fültigen Bereichs." +#: lexsup.c:536 +msgid "Split output sections every SIZE octets" +msgstr "" -#: v850-opc.c:55 -msgid "displacement value is not aligned" -msgstr "Der Abstandswert ist nicht ausgerichtet." +#: lexsup.c:539 +msgid "[=COUNT]" +msgstr "[=ANZAHL]" -#: v850-opc.c:57 -msgid "immediate value is out of range" -msgstr "Direktwert außerhalb des gültigen Bereichs" +#: lexsup.c:539 +msgid "Split output sections every COUNT relocs" +msgstr "" -#: v850-opc.c:58 -msgid "branch value out of range" -msgstr "Verzweigungswert außerhalb des gültigen Bereichs." +#: lexsup.c:542 +msgid "Print memory usage statistics" +msgstr "Statistiken zur Speichernutzung ausgeben" -#: v850-opc.c:59 -msgid "branch value not in range and to odd offset" -msgstr "Verzweigungswert außerhalb des gültigen Bereichs und zu einem ungeraden Offset." +#: lexsup.c:544 +msgid "Display target specific options" +msgstr "Ziel-spezifische Optionen anzeigen" -#: v850-opc.c:60 -msgid "branch to odd offset" -msgstr "Verzweigung auf ungeraden Offset" +#: lexsup.c:546 +msgid "Do task level linking" +msgstr "" -#: v850-opc.c:61 -msgid "position value is out of range" -msgstr "Positionswert außerhalb des gültigen Bereichs" +#: lexsup.c:548 +msgid "Use same format as native linker" +msgstr "Gleiches Format wie der native Linker verwenden" -#: v850-opc.c:62 -msgid "width value is out of range" -msgstr "Breitenwert außerhalb des gültigen Bereichs" +#: lexsup.c:550 +msgid "SECTION=ADDRESS" +msgstr "ABSCHNITT=ADRESSE" -#: v850-opc.c:63 -msgid "SelID is out of range" -msgstr "SelID liegt außerhalb des gültigen Bereichs" +#: lexsup.c:550 +msgid "Set address of named section" +msgstr "" -#: v850-opc.c:64 -msgid "vector8 is out of range" -msgstr "vector8 liegt außerhalb des gültigen Bereichs" +#: lexsup.c:553 +msgid "Set address of .bss section" +msgstr "" -#: v850-opc.c:65 -msgid "vector5 is out of range" -msgstr "vector5 liegt außerhalb des gültigen Bereichs" +#: lexsup.c:555 +msgid "Set address of .data section" +msgstr "" -#: v850-opc.c:66 -msgid "imm10 is out of range" -msgstr "imm10 liegt außerhalb des gültigen Bereichs" +#: lexsup.c:557 +msgid "Set address of .text section" +msgstr "" -#: v850-opc.c:67 -msgid "SR/SelID is out of range" -msgstr "SR/RelID l liegt außerhalb des gültigen Bereichs" +#: lexsup.c:559 +msgid "Set address of text segment" +msgstr "" -#: v850-opc.c:512 -msgid "invalid register for stack adjustment" -msgstr "Ungültiges Register für Stackanpassung" +#: lexsup.c:562 +msgid "" +"How to handle unresolved symbols. <method> is:\n" +" ignore-all, report-all, ignore-in-object-files,\n" +" ignore-in-shared-libs" +msgstr "" -#: v850-opc.c:532 -msgid "invalid register name" -msgstr "Falscher Registername" +#: lexsup.c:567 +msgid "[=NUMBER]" +msgstr "[=ZAHL]" -#: wasm32-dis.c:88 -msgid "Disassemble \"register\" names" -msgstr "\"register\"-Namen disassemblieren" +#: lexsup.c:568 +msgid "Output lots of information during link" +msgstr "" -#: wasm32-dis.c:89 -msgid "Name well-known globals" -msgstr "Wohlbekannte globale Namen benennen" +#: lexsup.c:572 +msgid "Read version information script" +msgstr "Versionsinformationsskript lesen" -#: wasm32-dis.c:503 -#, c-format +#: lexsup.c:575 msgid "" -"The following WebAssembly-specific disassembler options are supported for use\n" -"with the -M switch:\n" +"Take export symbols list from .exports, using\n" +" SYMBOL as the version." msgstr "" -"Die folgenden WebAssembly-spezifischen Disassembleroptionen werden in\n" -"Kombination mit dem Schalter »-M« unterstützt:\n" -#: xc16x-asm.c:66 -msgid "Missing '#' prefix" -msgstr "Das »#«-Präfix felht" +#: lexsup.c:579 +msgid "Add data symbols to dynamic list" +msgstr "Datensymbole zur dynamischen Liste hinzufügen" -#: xc16x-asm.c:82 -msgid "Missing '.' prefix" -msgstr "Das ».«-Präfix fehlt" +#: lexsup.c:581 +msgid "Use C++ operator new/delete dynamic list" +msgstr "" -#: xc16x-asm.c:98 -msgid "Missing 'pof:' prefix" -msgstr "Das »pof:«-Präfix fehlt" +#: lexsup.c:583 +msgid "Use C++ typeinfo dynamic list" +msgstr "" -#: xc16x-asm.c:114 -msgid "Missing 'pag:' prefix" -msgstr "Das »pag:«-Präfix fehlt" +#: lexsup.c:585 +msgid "Read dynamic list" +msgstr "Dynamische Liste lesen" -#: xc16x-asm.c:130 -msgid "Missing 'sof:' prefix" -msgstr "Das »sof:«-Präfix fehlt" +#: lexsup.c:587 +msgid "Warn about duplicate common symbols" +msgstr "" -#: xc16x-asm.c:146 -msgid "Missing 'seg:' prefix" -msgstr "Das »seg:«-Präfix fehlt" +#: lexsup.c:589 +msgid "Warn if global constructors/destructors are seen" +msgstr "" -#: xc16x-desc.c:3349 -#, c-format -msgid "internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: xc16x_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:592 +msgid "Warn if the multiple GP values are used" +msgstr "" -#: xc16x-desc.c:3432 -#, c-format -msgid "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: xc16x_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:594 +msgid "Warn only once per undefined symbol" +msgstr "" -#: xc16x-desc.c:3451 -#, c-format -msgid "internal error: xc16x_cgen_cpu_open: no endianness specified" -msgstr "internal error: xc16x_cgen_cpu_open: no endianness specified" +#: lexsup.c:596 +msgid "Warn if start of section changes due to alignment" +msgstr "" -#: xstormy16-asm.c:71 -msgid "Bad register in preincrement" -msgstr "Ungültiges Register beim Pre-Increment" +#: lexsup.c:599 +msgid "Warn if shared object has DT_TEXTREL" +msgstr "" -#: xstormy16-asm.c:76 -msgid "Bad register in postincrement" -msgstr "Ungültiges Register beim Post-Increment" +#: lexsup.c:602 +msgid "Warn if an object has alternate ELF machine code" +msgstr "" -#: xstormy16-asm.c:78 -msgid "Bad register name" -msgstr "Falscher Registername" +#: lexsup.c:606 +msgid "Report unresolved symbols as warnings" +msgstr "Nicht aufgelöste Symbole als Warnungen melden" -#: xstormy16-asm.c:82 -msgid "Label conflicts with register name" -msgstr "Sprungmarke verträgt sich nicht mit dem Registername" +#: lexsup.c:609 +msgid "Report unresolved symbols as errors" +msgstr "Nicht aufgelöste Symbole als Fehler melden" -#: xstormy16-asm.c:86 -msgid "Label conflicts with `Rx'" -msgstr "Sprungmarke verträgt sich nicht mit »Rx«" +#: lexsup.c:611 +msgid "Include all objects from following archives" +msgstr "Alle Objekte aus den folgenden Archiven einschließen" -#: xstormy16-asm.c:88 -msgid "Bad immediate expression" -msgstr "Ungültiger Direktausdruck" +#: lexsup.c:614 +msgid "Use wrapper functions for SYMBOL" +msgstr "" -#: xstormy16-asm.c:109 -msgid "No relocation for small immediate" -msgstr "Keine Verlagerung für kleine Direktwerte" +#: lexsup.c:763 +msgid "%P: unrecognized option '%s'\n" +msgstr "%P: unbekannte Option »%s«\n" -#: xstormy16-asm.c:119 -msgid "Small operand was not an immediate number" -msgstr "Kleiner Operand war keine Direktzahl" +#: lexsup.c:767 +msgid "%P%F: use the --help option for usage information\n" +msgstr "%P%F: Benutzen Sie die Option --help für Informationen zum Aufruf\n" -#: xstormy16-asm.c:157 -msgid "Operand is not a symbol" -msgstr "Operand muss ein Symbol sein" +#: lexsup.c:785 +msgid "%P%F: unrecognized -a option `%s'\n" +msgstr "%P%F: nicht erkannte -a-Option »%s«\n" -#: xstormy16-asm.c:165 -msgid "Syntax error: No trailing ')'" -msgstr "Syntaxfehler: Kein abschließendes »)«" +#: lexsup.c:798 +msgid "%P%F: unrecognized -assert option `%s'\n" +msgstr "%P%F: nicht erkannte -assert-Option »%s«\n" -#: xstormy16-desc.c:1317 -#, c-format -msgid "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" -msgstr "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'" +#: lexsup.c:841 +msgid "%F%P: unknown demangling style `%s'" +msgstr "" -#: xstormy16-desc.c:1400 -#, c-format -msgid "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'" -msgstr "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'" +#: lexsup.c:907 lexsup.c:1341 +msgid "%P%F: invalid number `%s'\n" +msgstr "%P%F: ungültige Zahl »%s«\n" -#: xstormy16-desc.c:1419 -#, c-format -msgid "internal error: xstormy16_cgen_cpu_open: no endianness specified" -msgstr "internal error: xstormy16_cgen_cpu_open: no endianness specified" +#: lexsup.c:1005 +msgid "%P%F: bad --unresolved-symbols option: %s\n" +msgstr "" -#~ msgid "can't find i386-opc.tbl for reading, errno = %s\n" -#~ msgstr "Kann »i386-opc.tbl« nicht zum Lesen finden, errno = %s\n" +#: lexsup.c:1076 +msgid "%P%F: bad -plugin-opt option\n" +msgstr "%P%F: fehlerhafte -plugin-opt-Option\n" + +#. This can happen if the user put "-rpath,a" on the command +#. line. (Or something similar. The comma is important). +#. Getopt becomes confused and thinks that this is a -r option +#. but it cannot parse the text after the -r so it refuses to +#. increment the optind counter. Detect this case and issue +#. an error message here. We cannot just make this a warning, +#. increment optind, and continue because getopt is too confused +#. and will seg-fault the next time around. +#: lexsup.c:1093 +msgid "%P%F: bad -rpath option\n" +msgstr "%P%F: fehlerhafte -rpath-Option\n" + +#: lexsup.c:1207 +msgid "%P%F: -shared not supported\n" +msgstr "%P%F: -shared nicht unterstützt\n" + +#: lexsup.c:1216 +msgid "%P%F: -pie not supported\n" +msgstr "%P%F: -pie nicht unterstützt\n" + +#: lexsup.c:1224 +msgid "descending" +msgstr "absteigend" + +#: lexsup.c:1226 +msgid "ascending" +msgstr "aufsteigend" + +#: lexsup.c:1229 +msgid "%P%F: invalid common section sorting option: %s\n" +msgstr "" -#~ msgid "" -#~ "\n" -#~ " msa Recognize MSA instructions.\n" -#~ msgstr "" -#~ "\n" -#~ " msa MSA-Befehle erkennen.\n" +#: lexsup.c:1233 +msgid "name" +msgstr "Name" -#~ msgid "" -#~ "\n" -#~ " hwr-names=ARCH Print HWR names according to specified \n" -#~ " architecture.\n" -#~ " Default: based on binary being disassembled.\n" -#~ msgstr "" -#~ "\n" -#~ " hwr-names=ARCH Namen der Hardwareregister entsprechend der\n" -#~ " angegebenen Architektur ausgeben.\n" -#~ " Standard: abhängig von der Binärdatei, die\n" -#~ " verarbeitet wird.\n" +#: lexsup.c:1235 +msgid "alignment" +msgstr "Ausrichtung" -#~ msgid "" -#~ "\n" -#~ " For the options above, The following values are supported for \"ARCH\":\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Für die obigen Optionen werden die folgenden Werte für »ARCH« unterstützt:\n" -#~ " " +#: lexsup.c:1238 +msgid "%P%F: invalid section sorting option: %s\n" +msgstr "" -#~ msgid "Internal disassembler error" -#~ msgstr "Interner Disassemblerfehler" +#: lexsup.c:1272 +msgid "%P%F: invalid argument to option \"--section-start\"\n" +msgstr "%P%F: ungültiges Argument zur Option »--section-start«\n" -#~ msgid "can't cope with insert %d\n" -#~ msgstr "Kann nicht mit »inserv %d« umgehen.\n" +#: lexsup.c:1279 +msgid "%P%F: missing argument(s) to option \"--section-start\"\n" +msgstr "%P%F: fehlend(e) Argument(e) zur Option »--section-start«\n" -# Couldn't understand anything. -#~ msgid "%02x\t\t*unknown*" -#~ msgstr "%02x\t\t*unbekannt*" +#: lexsup.c:1513 +msgid "%P%F: group ended before it began (--help for usage)\n" +msgstr "%P%F: Gruppe endete, bevor sie begann (--help für Aufruf-Info)\n" -#~ msgid "# <dis error: %08lx>" -#~ msgstr "# <Disassemblierungsfehler: %08lx>" +#: lexsup.c:1541 +msgid "%P%X: --hash-size needs a numeric argument\n" +msgstr "%P%X: --hash-size benötigt ein numerisches Argument\n" -#~ msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n" -#~ msgstr "Interner Fehler: Ungültiger SPARC-Opcode: \"%s\", %#.8lx, %#.8lx\n" +#: lexsup.c:1572 +msgid "%P%F: -r and -shared may not be used together\n" +msgstr "%P%F: -r and -shared dürfen nicht zusammen verwendet werden\n" -#~ msgid "Illegal limm reference in last instruction!\n" -#~ msgstr "Ungültige limm-Referenz in der letzten Anweisung!\n" +#: lexsup.c:1615 +msgid "%P%F: -F may not be used without -shared\n" +msgstr "%P%F: -F darf nicht ohne -shared verwendet werden\n" -#~ msgid "unable to fit different valued constants into instruction" -#~ msgstr "Kann Konstanten mit verschiedenen Werten nicht in einen Maschinenbefehl einsetzen" +#: lexsup.c:1617 +msgid "%P%F: -f may not be used without -shared\n" +msgstr "%P%F: -f darf nicht ohne -shared verwendet werden\n" -#~ msgid "auxiliary register not allowed here" -#~ msgstr "Hilfsregister ist an dieser Stelle nicht erlaubt" +#: lexsup.c:1661 lexsup.c:1674 +msgid "%P%F: invalid hex number `%s'\n" +msgstr "%P%F: ungültige Hexadezimalzahl »%s«\n" -#~ msgid "too many long constants" -#~ msgstr "Zu viele lange Konstanten" +#: lexsup.c:1710 +#, c-format +msgid "Usage: %s [options] file...\n" +msgstr "Aufruf: %s [Optionen] Datei …\n" -#~ msgid "too many shimms in load" -#~ msgstr "Zu viele shimms im Ladebefehl" +#: lexsup.c:1712 +#, c-format +msgid "Options:\n" +msgstr "Optionen:\n" -#~ msgid "impossible store" -#~ msgstr "Unmögliches Speichern" +#: lexsup.c:1790 +#, c-format +msgid " @FILE" +msgstr " @DATEI" -#~ msgid "st operand error" -#~ msgstr "Fehler im st-Operanden" +#: lexsup.c:1793 +#, c-format +msgid "Read options from FILE\n" +msgstr "Optionen aus DATEI lesen\n" -#~ msgid "address writeback not allowed" -#~ msgstr "Adressen-Zurückschreiben nicht erlaubt" +#. Note: Various tools (such as libtool) depend upon the +#. format of the listings below - do not change them. +#: lexsup.c:1798 +#, c-format +msgid "%s: supported targets:" +msgstr "%s: Unterstützte Ziele:" -#~ msgid "invalid load/shimm insn" -#~ msgstr "Ungültiger load/shimm-Maschinenbefehl" +#: lexsup.c:1806 +#, c-format +msgid "%s: supported emulations: " +msgstr "%s: Unterstützte Emulationen:" -#~ msgid "ld operand error" -#~ msgstr "Fehler im ld-Operanden" +#: lexsup.c:1811 +#, c-format +msgid "%s: emulation specific options:\n" +msgstr "%s: Emulationsspezifische Optionen:\n" -#~ msgid "jump flags, but no .f seen" -#~ msgstr "Sprungflags, aber kein .f zu sehen" +#: lexsup.c:1816 +#, c-format +msgid "Report bugs to %s\n" +msgstr "" +"Melden Sie Fehler an: %s\n" +"Übersetzungsfehler melden Sie bitte an:\n" +"<translation-team-de@lists.sourceforge.net>\n" -#~ msgid "jump flags, but no limm addr" -#~ msgstr "Sprungflags, aber keine limm-Adresse" +#: mri.c:294 +msgid "%P%F: unknown format type %s\n" +msgstr "%P%F: unbekannter Format-Typ %s\n" -#~ msgid "flag bits of jump address limm lost" -#~ msgstr "Flag-Bits der limm-Sprungadresse verloren" +#: pe-dll.c:431 +#, c-format +msgid "%XUnsupported PEI architecture: %s\n" +msgstr "%XNicht unterstützte PEI-Architektur: %s\n" -#~ msgid "attempt to set HR bits" -#~ msgstr "Versuch, die HR-Bits zu setzen" +#: pe-dll.c:788 +#, c-format +msgid "%XCannot export %s: invalid export name\n" +msgstr "%X%s kann nicht exportiert werden: ungültiger Export-Name\n" -#~ msgid "bad jump flags value" -#~ msgstr "Falscher Wert für Sprungflags" +#: pe-dll.c:845 +#, c-format +msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n" +msgstr "" -#~ msgid "branch address not on 4 byte boundary" -#~ msgstr "Sprungadresse nicht an 4-Byte-Grenze" +#: pe-dll.c:852 +#, c-format +msgid "Warning, duplicate EXPORT: %s\n" +msgstr "Warnung, doppelter EXPORT: %s\n" -#~ msgid "must specify .jd or no nullify suffix" -#~ msgstr "Entweder muss .jd angegeben werden oder das Suffix ausgenullt werden." +#: pe-dll.c:939 +#, c-format +msgid "%XCannot export %s: symbol not defined\n" +msgstr "%X%s kann nicht exportiert werden: Symbol nicht definiert\n" + +#: pe-dll.c:945 +#, c-format +msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n" +msgstr "%X%s kann nicht exportiert werden: Symbol des falschen Typs (%d vs %d)\n" -#~ msgid "# internal error, incomplete extension sequence (+)" -#~ msgstr "# Interner Fehler, unvollständige Erweiterungsfolge (+)" +#: pe-dll.c:952 +#, c-format +msgid "%XCannot export %s: symbol not found\n" +msgstr "%X%s kann nicht exportiert werden: Symbol nicht gefunden\n" -#~ msgid "# internal error, undefined extension sequence (+%c)" -#~ msgstr "# Interner Fehler, undefinierte Erweiterungsfolge (+%c)" +#: pe-dll.c:1066 +#, c-format +msgid "%XError, ordinal used twice: %d (%s vs %s)\n" +msgstr "" -#~ msgid "# internal disassembler error, unrecognized modifier (+%c)" -#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (+%c)" +#: pe-dll.c:1456 +#, c-format +msgid "%XError: %d-bit reloc in dll\n" +msgstr "" -#~ msgid "# internal disassembler error, unrecognized modifier (m%c)" -#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (m%c)" +#: pe-dll.c:1584 +#, c-format +msgid "%s: Can't open output def file %s\n" +msgstr "" -#~ msgid "# internal disassembler error, unrecognized modifier (%c)" -#~ msgstr "# Interner Fehler im Disassembler: unerkannter Modifikator (%c)" +#: pe-dll.c:1735 +#, c-format +msgid "; no contents available\n" +msgstr "; kein Inhalt verfügbar\n" -#~ msgid "unknown\t0x%04x" -#~ msgstr "unbekannt\t0x%04x" +#: pe-dll.c:2662 +msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n" +msgstr "" -#~ msgid "offset not a multiple of 2" -#~ msgstr "Offset muss ein Vielfaches von 2 sein" +#: pe-dll.c:2692 +#, c-format +msgid "%XCan't open .lib file: %s\n" +msgstr "%X .lib-Datei kann nicht geöffnet werden: %s\n" -#~ msgid "offset greater than 62" -#~ msgstr "Offset darf nicht größer als 62 sein" +#: pe-dll.c:2697 +#, c-format +msgid "Creating library file: %s\n" +msgstr "Bibliotheksdatei wird erzeugt: %s\n" -#~ msgid "offset not a multiple of 4" -#~ msgstr "Offset muss ein Vielfaches von 4 sein" +#: pe-dll.c:2726 +#, c-format +msgid "%Xbfd_openr %s: %E\n" +msgstr "%Xbfd_openr %s: %E\n" -#~ msgid "offset greater than 124" -#~ msgstr "Offset darf nicht größer als 124 sein" +#: pe-dll.c:2738 +#, c-format +msgid "%X%s(%s): can't find member in non-archive file" +msgstr "" -#~ msgid "offset not a multiple of 8" -#~ msgstr "Offset muss ein Vielfaches von 8 sein" +#: pe-dll.c:2750 +#, c-format +msgid "%X%s(%s): can't find member in archive" +msgstr "%X%s(%s): Element kann im Archiv nicht gefunden werden" -#~ msgid "offset greater than 248" -#~ msgstr "Offset darf nicht größer als 248 sein" +#: pe-dll.c:3189 +#, c-format +msgid "%XError: can't use long section names on this arch\n" +msgstr "" -#~ msgid "offset not between -2048 and 2047" -#~ msgstr "Offset muss im Bereich von -2048 bis 2047 liegen" +#: plugin.c:177 plugin.c:211 +msgid "<no plugin>" +msgstr "<kein Plugin>" -#~ msgid "offset not between -8192 and 8191" -#~ msgstr "Offset muss im Bereich von -8192 bis 8191 liegen" +#: plugin.c:250 +#, c-format +msgid "could not create dummy IR bfd: %F%E\n" +msgstr "" -#~ msgid "ignoring least significant bits in branch offset" -#~ msgstr "Ignoriere niedrigste Bits im Verzweigungsoffset" +#: plugin.c:343 +msgid "%P%F: %s: non-ELF symbol in ELF BFD!\n" +msgstr "%P%F: %s: nicht-ELF-Symbol in ELF-BFD!\n" -#~ msgid "target register operand must be even" -#~ msgstr "Der Zielregisteroperand muss gerade sein" +#: plugin.c:347 +msgid "%P%F: unknown ELF symbol visibility: %d!\n" +msgstr "" -#~ msgid "source register operand must be even" -#~ msgstr "Der Quellregisteroperand muss gerade sein" +#: plugin.c:586 +msgid "%P: %B: symbol `%s' definition: %d, visibility: %d, resolution: %d\n" +msgstr "" -#~ msgid "branch value not in range and to an odd offset" -#~ msgstr "Verzweigungswert außerhalb des gültigen Bereichs und zu einem ungeraden Offset." +#: plugin.c:863 +msgid "%P%F: %s: plugin reported error claiming file\n" +msgstr "" -#~ msgid "immediate value not in range and not even" -#~ msgstr "Direktwert außerhalb des gültigen Bereichs und nicht gerade" +#: plugin.c:934 +msgid "%P: %s: error in plugin cleanup (ignored)\n" +msgstr "%P: %s: Fehler beim Aufräumen des Plugins (ignoriert)\n" diff --git a/ld/po/es.po b/ld/po/es.po index 3111da2..e5cbc2d 100644 --- a/ld/po/es.po +++ b/ld/po/es.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ld 2.44.90\n" "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n" "POT-Creation-Date: 2025-07-13 08:53+0100\n" -"PO-Revision-Date: 2025-07-16 08:01+0200\n" +"PO-Revision-Date: 2025-08-01 08:07+0200\n" "Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n" "Language-Team: Spanish <es@tp.org.es>\n" "Language: es\n" @@ -1408,11 +1408,11 @@ msgstr "Activa avisos cuando --enable-non-contiguous-regions puede provocar comp #: lexsup.c:134 msgid "Disable the LINKER_VERSION linker script directive" -msgstr "" +msgstr "Desactiva la directiva de script de enlazado LINKER_VERSION" #: lexsup.c:136 msgid "Enable the LINKER_VERSION linker script directive" -msgstr "" +msgstr "Activa la directiva de script de enlazado LINKER_VERSION" #: lexsup.c:138 msgid "Link big-endian objects" @@ -1540,7 +1540,7 @@ msgstr "EnvÃa el argumento al último plugin cargado" #: lexsup.c:191 msgid "Store plugin intermediate files permanently" -msgstr "" +msgstr "Almacena los ficheros intermedios de «plugin» permanentemente" #: lexsup.c:194 lexsup.c:197 msgid "Ignored for GCC LTO option compatibility" @@ -1576,7 +1576,7 @@ msgstr "Sólo enlaza sÃmbolos (si es un directorio, es igual que --rpath)" #: lexsup.c:229 msgid "PATTERN=FILE" -msgstr "" +msgstr "PATRÓN=FICHERO" #: lexsup.c:232 msgid "Strip all symbols" @@ -1922,7 +1922,7 @@ msgstr "Reduce las saturaciones de memoria, tal vez tomando más tiempo" #: lexsup.c:457 msgid "Set the maximum cache size to SIZE bytes" -msgstr "" +msgstr "Establece el tamaño máximo de caché en TAMAÑO bytes" #: lexsup.c:460 msgid "Reduce code size by using target specific optimizations" @@ -1974,7 +1974,7 @@ msgstr "Ordena secciones por nombre o alineación máxima" #: lexsup.c:492 msgid "Sort sections by statements in FILE" -msgstr "" +msgstr "Ordena las secciones por instrucciones en FICHERO" #: lexsup.c:494 msgid "COUNT" @@ -2709,7 +2709,7 @@ msgstr " Estilos: none,md5,sha1,uuid,0xHEX\n" #: lexsup.c:2286 #, c-format msgid " --package-metadata[=JSON] Generate package metadata note\n" -msgstr "" +msgstr " --package-metadata[=JSON] Genera nota de metadatos del paquete\n" #: lexsup.c:2288 #, c-format @@ -2954,481 +2954,439 @@ msgstr "%s: opciones especÃficas de emulación:\n" #: lexsup.c:2508 #, c-format msgid "Report bugs to %s\n" -msgstr "Reporte bichos a %s\n" +msgstr "Reporte errores a %s\n" #: mri.c:291 -#, fuzzy -#| msgid "%F%P: unknown format type %s\n" msgid "%P: unknown format type %s\n" msgstr "%P: tipo de formato %s desconocido\n" #: pdb.c:845 pdb.c:1136 msgid "%P: CodeView symbol references out of range type %v\n" -msgstr "" +msgstr "%P: sÃmbolo CodeView referencia tipo fuera de rango %v\n" #: pdb.c:1014 msgid "%P: warning: truncated CodeView record S_LDATA32/S_GDATA32/S_LTHREAD32/S_GTHREAD32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView truncado S_LDATA32/S_GDATA32/S_LTHREAD32/S_GTHREAD32\n" #: pdb.c:1033 msgid "%P: warning: name for S_LDATA32/S_GDATA32/S_LTHREAD32/S_GTHREAD32 has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: el nombre de S_LDATA32/S_GDATA32/S_LTHREAD32/S_GTHREAD32 no tiene cero final\n" #: pdb.c:1081 pdb.c:1751 msgid "%P: warning: truncated CodeView record S_GPROC32/S_LPROC32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView truncado S_GPROC32/S_LPROC32\n" #: pdb.c:1093 pdb.c:1768 msgid "%P: warning: could not find end of S_GPROC32/S_LPROC32 record\n" -msgstr "" +msgstr "%P: aviso: no se ha podido encontrar el final del registro S_GPROC32/S_LPROC32\n" #: pdb.c:1119 msgid "%P: warning: name for S_GPROC32/S_LPROC32 has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: el nombre de S_GPROC32/S_LPROC32 no tiene cero final\n" #: pdb.c:1175 msgid "%P: CodeView S_GPROC32_ID/S_LPROC32_ID symbol referenced unknown type as ID\n" -msgstr "" +msgstr "%P: sÃmbolo CodeView S_GPROC32_ID/S_LPROC32_ID hace referencia un tipo desconocido como ID\n" #: pdb.c:1249 msgid "%P: warning: truncated CodeView record S_UDT\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_UDT truncado\n" #: pdb.c:1260 msgid "%P: warning: name for S_UDT has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: el nombre de S_UDT no tiene cero final\n" #: pdb.c:1297 msgid "%P: warning: truncated CodeView record S_CONSTANT\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_CONSTANT truncado\n" #: pdb.c:1314 msgid "%P: warning: unhandled type %v within S_CONSTANT\n" -msgstr "" +msgstr "%P: aviso: tipo %v no manejado en S_CONSTANT\n" #: pdb.c:1328 msgid "%P: warning: name for S_CONSTANT has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: el nombre de S_CONSTANT no tiene cero final\n" #: pdb.c:1388 msgid "%P: warning: unexpected CodeView scope start record %v\n" -msgstr "" +msgstr "%P: aviso: registro %v de comienzo de alcance CodeView inesperado\n" #: pdb.c:1410 msgid "%P: warning: truncated CodeView record S_BUILDINFO\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_BUILDINFO truncado\n" #: pdb.c:1436 msgid "%P: warning: truncated CodeView record S_BLOCK32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_BLOCK32 truncado\n" #: pdb.c:1448 msgid "%P: warning: could not find end of S_BLOCK32 record\n" -msgstr "" +msgstr "%P: aviso: no se ha podido encontrar el final del registro S_BLOCK32\n" #: pdb.c:1473 msgid "%P: warning: truncated CodeView record S_BPREL32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_BPREL32 truncado\n" #: pdb.c:1497 msgid "%P: warning: truncated CodeView record S_REGISTER\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_REGISTER truncado\n" #: pdb.c:1521 msgid "%P: warning: truncated CodeView record S_REGREL32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_REGREL32 truncado\n" #: pdb.c:1545 msgid "%P: warning: truncated CodeView record S_LOCAL\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_LOCAL truncado\n" #: pdb.c:1571 msgid "%P: warning: truncated CodeView record S_INLINESITE\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_INLINESITE truncado\n" #: pdb.c:1583 msgid "%P: warning: could not find end of S_INLINESITE record\n" -msgstr "" +msgstr "%P: aviso: no se ha podido encontrar el final del registro S_INLINESITE\n" #: pdb.c:1616 msgid "%P: warning: truncated CodeView record S_THUNK32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_THUNK32 truncado\n" #: pdb.c:1628 msgid "%P: warning: could not find end of S_THUNK32 record\n" -msgstr "" +msgstr "%P: aviso: no se ha podido encontrar el final del registro S_THUNK32\n" #: pdb.c:1653 msgid "%P: warning: truncated CodeView record S_HEAPALLOCSITE\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_HEAPALLOCSITE truncado\n" #: pdb.c:1687 pdb.c:1831 -#, fuzzy -#| msgid "%P: warning: unrecognized --build-id style ignored\n" msgid "%P: warning: unrecognized CodeView record %v\n" -msgstr "%P: aviso: se descarta estilo --build-id no reconocido\n" +msgstr "%P: aviso: registro %v CodeView no reconocido\n" #: pdb.c:1723 msgid "%P: warning: truncated CodeView record S_LDATA32/S_LTHREAD32\n" -msgstr "" +msgstr "%P: aviso: registro CodeView S_LDATA32/S_LTHREAD32 truncado\n" #: pdb.c:1879 msgid "%P: warning: truncated DEBUG_S_INLINEELINES data\n" -msgstr "" +msgstr "%P: aviso: registro CodeView DEBUG_S_INLINEELINES truncado\n" #: pdb.c:1886 msgid "%P: warning: unexpected DEBUG_S_INLINEELINES version %u\n" -msgstr "" +msgstr "%P: aviso: registro CodeView DEBUG_S_INLINEELINES truncado\n" #: pdb.c:2239 msgid "%P: CodeView type %v references other type %v not yet declared\n" -msgstr "" +msgstr "%P: el tipo CodeView %v hace referencia a otro tipo %v no declarado todavÃa\n" #: pdb.c:2246 msgid "%P: CodeView type %v references out of range type %v\n" -msgstr "" +msgstr "%P: el tipo CodeView %v hace referencia al tipo tipo fuera de rango %v\n" #: pdb.c:2306 msgid "%P: warning: truncated CodeView type record LF_UDT_SRC_LINE\n" -msgstr "" +msgstr "%P: aviso: registro CodeView LF_UDT_SRC_LINE truncado\n" #: pdb.c:2319 msgid "%P: warning: CodeView type record LF_UDT_SRC_LINE referred to unknown type %v\n" -msgstr "" +msgstr "%P: aviso: el registro LF_UDT_SRC_LINE de tipo CodeView hace referencia al tipo desconocido %v\n" #: pdb.c:2341 msgid "%P: warning: CodeView type record LF_UDT_SRC_LINE referred to unknown string %v\n" -msgstr "" +msgstr "%P: aviso: el registro LF_UDT_SRC_LINE de tipo CodeView hace referencia a la cadena desconocida %v\n" #: pdb.c:2350 msgid "%P: warning: CodeView type record LF_UDT_SRC_LINE pointed to unexpected record type\n" -msgstr "" +msgstr "%P: aviso: el registro LF_UDT_SRC_LINE de tipo CodeView apunta a un tipo de registro desconocido\n" #: pdb.c:2399 msgid "%P: warning: duplicate CodeView type record LF_UDT_MOD_SRC_LINE\n" -msgstr "" +msgstr "%P: aviso: registro LF_UDT_MOD_SRC_LINE de tipo CodeView duplicado\n" #: pdb.c:2448 msgid "%P: warning: truncated CodeView type record LF_MODIFIER\n" -msgstr "" +msgstr "%P: aviso: registro LF_MODIFIER de tipo CodeView truncado\n" #: pdb.c:2466 pdb.c:2481 msgid "%P: warning: truncated CodeView type record LF_POINTER\n" -msgstr "" +msgstr "%P: aviso: registro LF_POINTER de tipo CodeView truncado\n" #: pdb.c:2499 msgid "%P: warning: truncated CodeView type record LF_PROCEDURE\n" -msgstr "" +msgstr "%P: aviso: registro LF_PROCEDURE de tipo CodeView truncado\n" #: pdb.c:2519 msgid "%P: warning: truncated CodeView type record LF_MFUNCTION\n" -msgstr "" +msgstr "%P: aviso: registro LF_MFUNCTION de tipo CodeView truncado\n" #: pdb.c:2547 pdb.c:2557 msgid "%P: warning: truncated CodeView type record LF_ARGLIST\n" -msgstr "" +msgstr "%P: aviso: registro LF_ARGLIST de tipo CodeView truncado\n" #: pdb.c:2582 pdb.c:2652 pdb.c:2789 pdb.c:2836 pdb.c:3054 pdb.c:3101 msgid "%P: warning: truncated CodeView type record LF_FIELDLIST\n" -msgstr "" +msgstr "%P: aviso: registro LF_FIELDLIST de tipo CodeView truncado\n" #: pdb.c:2599 pdb.c:2627 msgid "%P: warning: truncated CodeView type record LF_MEMBER\n" -msgstr "" +msgstr "%P: aviso: registro LF_MEMBER de tipo CodeView truncado\n" #: pdb.c:2618 msgid "%P: warning: unhandled type %v within LF_MEMBER\n" -msgstr "" +msgstr "%P: aviso: tipo %v no manejado en LF_MEMBER\n" #: pdb.c:2638 msgid "%P: warning: name for LF_MEMBER has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_MEMBER sin cero final\n" #: pdb.c:2671 pdb.c:2694 pdb.c:2721 msgid "%P: warning: truncated CodeView type record LF_ENUMERATE\n" -msgstr "" +msgstr "%P: aviso: registro LF_ENUMERATE de tipo CodeView truncado\n" #: pdb.c:2687 msgid "%P: warning: unhandled type %v within LF_ENUMERATE\n" -msgstr "" +msgstr "%P: aviso: tipo %v no manejado en LF_ENUMERATE\n" #: pdb.c:2707 msgid "%P: warning: name for LF_ENUMERATE has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_ENUMERATE sin cero final\n" #: pdb.c:2738 msgid "%P: warning: truncated CodeView type record LF_INDEX\n" -msgstr "" +msgstr "%P: aviso: registro LF_INDEX de tipo CodeView truncado\n" #: pdb.c:2759 msgid "%P: warning: truncated CodeView type record LF_ONEMETHOD\n" -msgstr "" +msgstr "%P: aviso: registro LF_ONEMETHOD de tipo CodeView truncado\n" #: pdb.c:2774 msgid "%P: warning: name for LF_ONEMETHOD has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_ONEMETHOD sin cero final\n" #: pdb.c:2807 msgid "%P: warning: truncated CodeView type record LF_METHOD\n" -msgstr "" +msgstr "%P: aviso: registro LF_METHOD de tipo CodeView truncado\n" #: pdb.c:2822 msgid "%P: warning: name for LF_METHOD has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_METHOD sin cero final\n" #: pdb.c:2855 pdb.c:2884 pdb.c:2895 msgid "%P: warning: truncated CodeView type record LF_BCLASS\n" -msgstr "" +msgstr "%P: aviso: registro LF_BCLASS de tipo CodeView truncado\n" #: pdb.c:2875 msgid "%P: warning: unhandled type %v within LF_BCLASS\n" -msgstr "" +msgstr "%P: aviso: tipo %v no manejado en LF_BCLASS\n" #: pdb.c:2912 msgid "%P: warning: truncated CodeView type record LF_VFUNCTAB\n" -msgstr "" +msgstr "%P: aviso: registro LF_VFUNCTAB de tipo CodeView truncado\n" #: pdb.c:2935 pdb.c:2969 pdb.c:2994 pdb.c:3005 msgid "%P: warning: truncated CodeView type record LF_VBCLASS/LF_IVBCLASS\n" -msgstr "" +msgstr "%P: aviso: registro LF_VBCLASS/LF_IVBCLASS de tipo CodeView truncado\n" #: pdb.c:2960 pdb.c:2985 msgid "%P: warning: unhandled type %v within LF_VBCLASS/LF_IVBCLASS\n" -msgstr "" +msgstr "%P: aviso: tipo %v no manejado en LF_VBCLASS/LF_IVBCLASS\n" #: pdb.c:3024 msgid "%P: warning: truncated CodeView type record LF_STMEMBER\n" -msgstr "" +msgstr "%P: aviso: registro LF_STMEMBER de tipo CodeView truncado\n" #: pdb.c:3039 msgid "%P: warning: name for LF_STMEMBER has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_STMEMBER sin cero final\n" #: pdb.c:3072 msgid "%P: warning: truncated CodeView type record LF_NESTTYPE\n" -msgstr "" +msgstr "%P: aviso: registro LF_NESTTYPE de tipo CodeView truncado\n" #: pdb.c:3086 msgid "%P: warning: name for LF_NESTTYPE has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_NESTTYPE sin cero final\n" #: pdb.c:3113 -#, fuzzy -#| msgid "%P: warning: unrecognized --build-id style ignored\n" msgid "%P: warning: unrecognized CodeView subtype %v\n" -msgstr "%P: aviso: se descarta estilo --build-id no reconocido\n" +msgstr "%P: aviso: subtipo CodeView %v no reconocido\n" #: pdb.c:3128 msgid "%P: warning: truncated CodeView type record LF_BITFIELD\n" -msgstr "" +msgstr "%P: aviso: registro LF_BITFIELD de tipo CodeView truncado\n" #: pdb.c:3146 msgid "%P: warning: truncated CodeView type record LF_METHODLIST\n" -msgstr "" +msgstr "%P: aviso: registro LF_METHODLIST de tipo CodeView truncado\n" #: pdb.c:3154 msgid "%P: warning: malformed CodeView type record LF_METHODLIST\n" -msgstr "" +msgstr "%P: aviso: registro LF_METHODLIST de tipo CodeView truncado\n" #: pdb.c:3178 msgid "%P: warning: truncated CodeView type record LF_ARRAY\n" -msgstr "" +msgstr "%P: aviso: registro LF_ARRAY de tipo CodeView truncado\n" #: pdb.c:3201 pdb.c:3235 msgid "%P: warning: truncated CodeView type record LF_CLASS/LF_STRUCTURE\n" -msgstr "" +msgstr "%P: aviso: registro LF_CLASS/LF_STRUCTURE de tipo CodeView truncado\n" #: pdb.c:3226 msgid "%P: warning: unhandled type %v within LF_CLASS/LF_STRUCTURE\n" -msgstr "" +msgstr "%P: aviso: tipo %v no manejado en LF_CLASS/LF_STRUCTURE\n" #: pdb.c:3245 msgid "%P: warning: name for LF_CLASS/LF_STRUCTURE has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_CLASS/LF_STRUCTURE sin cero final\n" #: pdb.c:3264 msgid "%P: warning: unique name for LF_CLASS/LF_STRUCTURE has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre único de LF_CLASS/LF_STRUCTURE sin cero final\n" #: pdb.c:3288 pdb.c:3316 msgid "%P: warning: truncated CodeView type record LF_UNION\n" -msgstr "" +msgstr "%P: aviso: registro LF_UNION de tipo CodeView truncado\n" #: pdb.c:3307 -#, fuzzy -#| msgid "%P: warning: unknown machine type %u" msgid "%P: warning: unhandled type %v within LF_UNION\n" -msgstr "%P: aviso: tipo de máquina no conocido %u" +msgstr "%P: aviso: tipo %v no manejado en LF_UNION\n" #: pdb.c:3326 msgid "%P: warning: name for LF_UNION has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_UNION sin cero final\n" #: pdb.c:3345 msgid "%P: warning: unique name for LF_UNION has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre único de LF_UNION sin cero final\n" #: pdb.c:3369 msgid "%P: warning: truncated CodeView type record LF_ENUM\n" -msgstr "" +msgstr "%P: aviso: registro LF_ENUM de tipo CodeView truncado\n" #: pdb.c:3384 msgid "%P: warning: name for LF_ENUM has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre de LF_ENUM sin cero final\n" #: pdb.c:3402 msgid "%P: warning: unique name for LF_ENUM has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: nombre único de LF_ENUM sin cero final\n" #: pdb.c:3421 msgid "%P: warning: truncated CodeView type record LF_VFTABLE\n" -msgstr "" +msgstr "%P: aviso: registro LF_VFTABLE de tipo CodeView truncado\n" #: pdb.c:3442 msgid "%P: warning: truncated CodeView type record LF_STRING_ID\n" -msgstr "" +msgstr "%P: aviso: registro LF_STRING_ID de tipo CodeView truncado\n" #: pdb.c:3455 msgid "%P: warning: string for LF_STRING_ID has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: cadena de LF_STRING_ID sin cero final\n" #: pdb.c:3472 pdb.c:3482 msgid "%P: warning: truncated CodeView type record LF_SUBSTR_LIST\n" -msgstr "" +msgstr "%P: aviso: registro LF_SUBSTR_LIST de tipo CodeView truncado\n" #: pdb.c:3505 pdb.c:3515 msgid "%P: warning: truncated CodeView type record LF_BUILDINFO\n" -msgstr "" +msgstr "%P: aviso: registro LF_BUILDINFO de tipo CodeView truncado\n" #: pdb.c:3538 msgid "%P: warning: truncated CodeView type record LF_FUNC_ID\n" -msgstr "" +msgstr "%P: aviso: registro LF_FUNC_ID de tipo CodeView truncado\n" #: pdb.c:3554 msgid "%P: warning: string for LF_FUNC_ID has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: cadena de LF_FUNC_ID sin cero final\n" #: pdb.c:3571 msgid "%P: warning: truncated CodeView type record LF_MFUNC_ID\n" -msgstr "" +msgstr "%P: aviso: registro LF_MFUNC_ID de tipo CodeView truncado\n" #: pdb.c:3587 msgid "%P: warning: string for LF_MFUNC_ID has no terminating zero\n" -msgstr "" +msgstr "%P: aviso: cadena de LF_MFUNC_ID sin cero final\n" #: pdb.c:3602 -#, fuzzy -#| msgid "%P: warning: unrecognized --build-id style ignored\n" msgid "%P: warning: unrecognized CodeView type %v\n" -msgstr "%P: aviso: se descarta estilo --build-id no reconocido\n" +msgstr "%P: aviso: tipo CodeView %v no reconocido\n" #: pdb.c:3776 msgid "%P: warning: unable to get working directory\n" -msgstr "" +msgstr "%P: aviso: no se puede obtener el directorio de trabajo\n" #: pdb.c:3784 -#, fuzzy -#| msgid "%P: warning: global constructor %s used\n" msgid "%P: warning: unable to get program name\n" -msgstr "%P: aviso: se usó el constructor global %s\n" +msgstr "%P: aviso: no se puede obtener el nombre del programa\n" #: pdb.c:3793 msgid "%P: warning: unable to get full path to PDB\n" -msgstr "" +msgstr "%P: aviso: no se puede obtener la ruta completa de PDB\n" #: pdb.c:5249 -#, fuzzy -#| msgid "%F%P: can not create BFD: %E\n" msgid "%P: warning: cannot create PDB file: %E\n" -msgstr "%P: no se puede crear BFD: %E\n" +msgstr "%P: no se puede crear el fichero PDB: %E\n" #: pdb.c:5264 -#, fuzzy -#| msgid "%P: warning: cannot create .buildid section, --build-id ignored\n" msgid "%P: warning: cannot create old directory stream in PDB file: %E\n" -msgstr "%P: aviso: no se puede crear la sección .buildid, se descarta --build-id\n" +msgstr "%P: aviso: no se puede crear el flujoa del directorio antiguo en el fichero PDB: %E\n" #: pdb.c:5273 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create info stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo info en el fichero PDB: %E\n" #: pdb.c:5282 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create TPI stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo TPI en el fichero PDB: %E\n" #: pdb.c:5291 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create DBI stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo DBI en el fichero PDB: %E\n" #: pdb.c:5300 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create IPI stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo IPI en el fichero PDB: %E\n" #: pdb.c:5309 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create /names stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo /names en el fichero PDB: %E\n" #: pdb.c:5318 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create symbol record stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo de registro de sÃmbolo en el fichero PDB: %E\n" #: pdb.c:5327 -#, fuzzy -#| msgid "%P: warning: cannot create .buildid section, --build-id ignored\n" msgid "%P: warning: cannot create publics stream in PDB file: %E\n" -msgstr "%P: aviso: no se puede crear la sección .buildid, se descarta --build-id\n" +msgstr "%P: aviso: no se puede crear el flujo de públicos en el fichero PDB\n" #: pdb.c:5334 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot create section header stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede crear el flujo de cabecera de sección en el fichero PDB: %E\n" #: pdb.c:5353 -#, fuzzy -#| msgid "%P: cannot stat linker map file: %E\n" msgid "%P: warning: cannot populate DBI stream in PDB file: %E\n" -msgstr "%P: no se puede el estado del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede rellenar el flujo DBI en el fichero PDB: %E\n" #: pdb.c:5362 -#, fuzzy -#| msgid "%P: cannot stat linker map file: %E\n" msgid "%P: warning: cannot populate TPI stream in PDB file: %E\n" -msgstr "%P: no se puede el estado del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede rellenar el flujo TPI en el fichero PDB: %E\n" #: pdb.c:5373 -#, fuzzy -#| msgid "%P: cannot stat linker map file: %E\n" msgid "%P: warning: cannot populate IPI stream in PDB file: %E\n" -msgstr "%P: no se puede el estado del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede rellenar el flujo IPI en el fichero PDB: %E\n" #: pdb.c:5385 -#, fuzzy -#| msgid "%P%F: cannot create name for linker map file: %E\n" msgid "%P: warning: cannot populate names stream in PDB file: %E\n" -msgstr "%P%F: no se puede crear el nombre del fichero de mapa del enlazador: %E\n" +msgstr "%P: aviso: no se puede rellenar el flujo de nombres en el fichero PDB: %E\n" #: pdb.c:5392 msgid "%P: warning: cannot populate publics stream in PDB file: %E\n" -msgstr "" +msgstr "%P: aviso: no se puede rellenar el flujo de públicos en el fichero PDB\n" #: pdb.c:5399 -#, fuzzy -#| msgid "%P: %pB: warning: cannot parse .xtensa.info section\n" msgid "%P: warning: cannot populate info stream in PDB file: %E\n" -msgstr "%P: %pB: aviso: no se puede analizar la sección .xtensa.info\n" +msgstr "%P: aviso: no se puede rellenar el flujo info en el fichero PDB: %E\n" #: pe-dll.c:483 msgid "%X%P: unsupported PEI architecture: %s\n" @@ -3490,8 +3448,6 @@ msgstr "%X%P: no se puede exportar %s: no se encuentra el sÃmbolo\n" #: ehppalinux.c:113 ehppanbsd.c:113 ehppaobsd.c:113 em68hc11elf.c:173 #: em68hc11elfb.c:173 em68hc12elf.c:173 em68hc12elfb.c:173 eppcmacos.c:1631 #: eppcmacos.c:1641 -#, fuzzy -#| msgid "%F%P: can not create BFD: %E\n" msgid "%P: can not create BFD: %E\n" msgstr "%P: no se puede crear BFD: %E\n" @@ -3526,7 +3482,7 @@ msgstr "" #: pe-dll.c:1684 msgid "%P: base relocation for section `%s' above .reloc section\n" -msgstr "" +msgstr "%P: reubicación de base para la sección «%s» por encima de la sección .reloc\n" #: pe-dll.c:1734 #, c-format @@ -3544,16 +3500,12 @@ msgid "; no contents available\n" msgstr "; no hay contenido disponible\n" #: pe-dll.c:2368 -#, fuzzy -#| msgid "%X%P: error: export ordinal too large: %d\n" msgid "%P: error: NULL decorated name for %s\n" -msgstr "%X%P: error: exportación de ordinal demasiado grande: %d\n" +msgstr "%P: error: nombre decorado con NULL para %s\n" #: pe-dll.c:2903 -#, fuzzy -#| msgid "%X%P: %C: variable '%pT' can't be auto-imported; please read the documentation for ld's --enable-auto-import for details\n" msgid "%X%P: %H: variable '%pT' can't be auto-imported; please read the documentation for ld's --enable-auto-import for details\n" -msgstr "%X%P: %C: no se puede auto-importar la variable '%pT'. Por favor lea la documentación de --enable-auto-import de ld para más detalles\n" +msgstr "%X%P: %H: no se puede auto-importar la variable '%pT'. Por favor, lea la documentación de --enable-auto-import de ld para más detalles\n" #: pe-dll.c:2924 #, c-format @@ -3598,8 +3550,6 @@ msgid "<no plugin>" msgstr "<sin plugin>" #: plugin.c:255 plugin.c:1139 -#, fuzzy -#| msgid "%F%P: %s: error loading plugin: %s\n" msgid "%P: %s: error loading plugin: %s\n" msgstr "%P: %s: error al cargar el plugin: %s\n" @@ -3608,26 +3558,18 @@ msgid "%P: %s: duplicated plugin\n" msgstr "%P: %s: plugin duplicado\n" #: plugin.c:346 -#, fuzzy -#| msgid "%F%P: could not create dummy IR bfd: %E\n" msgid "%P: could not create dummy IR bfd: %E\n" -msgstr "%P: no se puede crear el bdf IR dummy: %F%E\n" +msgstr "%P: no se puede crear el bfd IR dummy: %E\n" #: plugin.c:428 -#, fuzzy -#| msgid "%F%P: %s: non-ELF symbol in ELF BFD!\n" msgid "%P: %s: non-ELF symbol in ELF BFD!\n" -msgstr "%P: %s: ¡SÃmbolo que no es ELF en el BFD ELF!\n" +msgstr "%P: %s: ¡sÃmbolo que no es ELF en el BFD ELF!\n" #: plugin.c:439 -#, fuzzy -#| msgid "%F%P: unknown ELF symbol visibility: %d!\n" msgid "%P: unknown ELF symbol visibility: %d!\n" -msgstr "%P: visibilidad de sÃmbolo ELF desconocida: ¡%d!\n" +msgstr "%P: ¡visibilidad de sÃmbolo ELF desconocida: %d!\n" #: plugin.c:561 -#, fuzzy -#| msgid "%F%P: unsupported input file size: %s (%ld bytes)\n" msgid "%P: unsupported input file size: %s (%ld bytes)\n" msgstr "%P: no se admite el tamaño de fichero de entrada: %s (%ld bytes)\n" @@ -3648,8 +3590,6 @@ msgstr "valor de visibilidad LTO desconocido %x" #. We should not have a new, indirect or warning symbol here. #: plugin.c:837 -#, fuzzy -#| msgid "%F%P: %s: plugin symbol table corrupt (sym type %d)\n" msgid "%P: %s: plugin symbol table corrupt (sym type %d)\n" msgstr "%P: %s: la tabla de sÃmbolos de plugin está corrupta (tipo de sÃmbolo %d)\n" @@ -3662,32 +3602,22 @@ msgid "%P: warning: " msgstr "%P: aviso: " #: plugin.c:989 -#, fuzzy -#| msgid "%P: error: " msgid "%X%P: error: " -msgstr "%P: error: " +msgstr "%X%P: error: " #: plugin.c:1146 -#, fuzzy -#| msgid "%F%P: %s: plugin error: %d\n" msgid "%P: %s: plugin error: %d\n" msgstr "%P: %s: error en el plugin: %d\n" #: plugin.c:1210 -#, fuzzy -#| msgid "%F%P: plugin_strdup failed to allocate memory: %s\n" msgid "%P: plugin_strdup failed to allocate memory: %s\n" msgstr "%P: plugin_strdup no pudo asignar memoria: %s\n" #: plugin.c:1252 -#, fuzzy -#| msgid "%F%P: plugin failed to allocate memory for input: %s\n" msgid "%P: plugin failed to allocate memory for input: %s\n" msgstr "%P: plugin no pudo asignar memoria para entrada: %s\n" #: plugin.c:1281 -#, fuzzy -#| msgid "%F%P: %s: plugin reported error claiming file\n" msgid "%P: %s: plugin reported error claiming file\n" msgstr "%P: %s: el plugin reportó error al reclamar el fichero\n" @@ -3928,8 +3858,6 @@ msgstr "%X%P: no se pueden construir los stubs: %E\n" #: ei386pe_posix.c:1523 emcorepe.c:1523 ends32belf.c:77 ends32belf16m.c:77 #: ends32belf_linux.c:77 ends32elf.c:77 ends32elf16m.c:77 ends32elf_linux.c:77 #: escore3_elf.c:82 escore7_elf.c:82 eshpe.c:1523 ev850.c:94 ev850_rh850.c:94 -#, fuzzy -#| msgid "%F%P: error: cannot change output format whilst linking %s binaries\n" msgid "%P: error: cannot change output format whilst linking %s binaries\n" msgstr "%P: error: no se puede cambiar el formato de salida mientras se enlazan los binarios %s\n" @@ -3946,10 +3874,8 @@ msgstr "%P: error: no se puede cambiar el formato de salida mientras se enlazan #: eaarch64linux32.c:487 eaarch64linux32b.c:403 eaarch64linux32b.c:463 #: eaarch64linux32b.c:487 eaarch64linuxb.c:403 eaarch64linuxb.c:463 #: eaarch64linuxb.c:487 eaarch64nto.c:403 eaarch64nto.c:463 eaarch64nto.c:487 -#, fuzzy -#| msgid "%F%P: unrecognized -a option `%s'\n" msgid "%X%P: error: unrecognized value '-z %s'\n" -msgstr "%P: no se reconoce la opción -a `%s'\n" +msgstr "%X%P: error: no se reconoce el valor '-z %s'\n" #: eaarch64cloudabi.c:744 eaarch64cloudabib.c:744 eaarch64elf.c:744 #: eaarch64elf32.c:744 eaarch64elf32b.c:744 eaarch64elfb.c:744 @@ -4026,7 +3952,7 @@ msgstr "%P: no se reconoce la opción -a `%s'\n" #: eshlelf_nbsd.c:283 eshlelf_nto.c:283 eshlelf_vxworks.c:315 ev850.c:259 #: ev850_rh850.c:259 msgid "%P: --compress-debug-sections=zstd: ld is not built with zstd support\n" -msgstr "" +msgstr "%P: --compress-debug-sections=zstd: ld no está construido con soporte para zstd\n" #: eaarch64cloudabi.c:749 eaarch64cloudabib.c:749 eaarch64elf.c:749 #: eaarch64elf32.c:749 eaarch64elf32b.c:749 eaarch64elfb.c:749 @@ -4102,8 +4028,6 @@ msgstr "" #: eshelf_vxworks.c:320 eshlelf.c:288 eshlelf_fd.c:329 eshlelf_linux.c:329 #: eshlelf_nbsd.c:288 eshlelf_nto.c:288 eshlelf_vxworks.c:320 ev850.c:264 #: ev850_rh850.c:264 -#, fuzzy -#| msgid "%F%P: invalid --compress-debug-sections option: `%s'\n" msgid "%P: invalid --compress-debug-sections option: `%s'\n" msgstr "%P: opción --compress-debug-sections no válida: `%s'\n" @@ -4162,8 +4086,6 @@ msgstr "%P: opción --compress-debug-sections no válida: `%s'\n" #: eshelf_linux.c:387 eshelf_nbsd.c:346 eshelf_nto.c:346 eshelf_uclinux.c:346 #: eshelf_vxworks.c:378 eshlelf.c:346 eshlelf_fd.c:387 eshlelf_linux.c:387 #: eshlelf_nbsd.c:346 eshlelf_nto.c:346 eshlelf_vxworks.c:378 -#, fuzzy -#| msgid "%F%P: invalid hash style `%s'\n" msgid "%P: invalid hash style `%s'\n" msgstr "%P: estilo de hash no válido `%s'\n" @@ -4241,8 +4163,6 @@ msgstr "%P: estilo de hash no válido `%s'\n" #: eshelf_vxworks.c:395 eshlelf.c:363 eshlelf_fd.c:404 eshlelf_linux.c:404 #: eshlelf_nbsd.c:363 eshlelf_nto.c:363 eshlelf_vxworks.c:395 ev850.c:288 #: ev850_rh850.c:288 -#, fuzzy -#| msgid "%F%P: invalid maximum page size `%s'\n" msgid "%P: invalid maximum page size `%s'\n" msgstr "%P: tamaño de página máximo no válido `%s'\n" @@ -4320,8 +4240,6 @@ msgstr "%P: tamaño de página máximo no válido `%s'\n" #: eshelf_vxworks.c:405 eshlelf.c:373 eshlelf_fd.c:414 eshlelf_linux.c:414 #: eshlelf_nbsd.c:373 eshlelf_nto.c:373 eshlelf_vxworks.c:405 ev850.c:298 #: ev850_rh850.c:298 -#, fuzzy -#| msgid "%F%P: invalid common page size `%s'\n" msgid "%P: invalid common page size `%s'\n" msgstr "%P: tamaño de página normal no válido `%s'\n" @@ -4399,8 +4317,6 @@ msgstr "%P: tamaño de página normal no válido `%s'\n" #: eshelf_vxworks.c:414 eshlelf.c:382 eshlelf_fd.c:423 eshlelf_linux.c:423 #: eshlelf_nbsd.c:382 eshlelf_nto.c:382 eshlelf_vxworks.c:414 ev850.c:307 #: ev850_rh850.c:307 -#, fuzzy -#| msgid "%F%P: invalid stack size `%s'\n" msgid "%P: invalid stack size `%s'\n" msgstr "%P: tamaño de pila no válido `%s'\n" @@ -4478,8 +4394,6 @@ msgstr "%P: tamaño de pila no válido `%s'\n" #: eshelf_vxworks.c:453 eshlelf.c:421 eshlelf_fd.c:462 eshlelf_linux.c:462 #: eshlelf_nbsd.c:421 eshlelf_nto.c:421 eshlelf_vxworks.c:453 ev850.c:346 #: ev850_rh850.c:346 -#, fuzzy -#| msgid "%F%P: invalid visibility in `-z %s'; must be default, internal, hidden, or protected" msgid "%P: invalid visibility in `-z %s'; must be default, internal, hidden, or protected" msgstr "%P: visibilidad no válida en `-z %s', debe ser default, internal, hidden o protected" @@ -4633,12 +4547,13 @@ msgstr " --no-apply-dynamic-relocs No aplica valores de tiempo de enlazamien #: eaarch64fbsd.c:1067 eaarch64fbsdb.c:1067 eaarch64haiku.c:1062 #: eaarch64linux.c:1067 eaarch64linux32.c:1067 eaarch64linux32b.c:1067 #: eaarch64linuxb.c:1067 eaarch64nto.c:1240 -#, fuzzy, c-format -#| msgid " -z force-bti Turn on Branch Target Identification mechanism and generate PLTs with BTI. Generate warnings for missing BTI on inputs\n" +#, c-format msgid "" " -z force-bti Turn on Branch Target Identification mechanism and generate PLTs with BTI.\n" " Generate warnings for missing BTI markings on inputs\n" -msgstr " -z force-bti Activa el mechanismo de identificación de objetivo de rama y genera PLTs con BTI. Genera avisos para BTI ausentes en las entradas\n" +msgstr "" +" -z force-bti Activa el mechanismo de identificación de objetivo de rama y genera PLTs\n" +" con BTI. Genera avisos para marcas BTI ausentes en las entradas\n" #: eaarch64cloudabi.c:1065 eaarch64cloudabib.c:1065 eaarch64elf.c:1070 #: eaarch64elf32.c:1070 eaarch64elf32b.c:1070 eaarch64elfb.c:1070 @@ -4654,16 +4569,22 @@ msgid "" " error: Emit error when the input objects are missing BTI markings\n" " and output has BTI marking.\n" msgstr "" +" -z bti-report[=none|warning|error] Emite aviso/error si no coincide la marcación BTI de los objetos de entrada y\n" +" de salida.\n" +" none: No emite mensajes de aviso/error.\n" +" warning (por defecto): Emite aviso cuando los objetos de entrada carecen de\n" +" marcas BTI y la salida los tiene.\n" +" error: Emite aviso cuando los objetos de entrada carecen de marcas BTI y\n" +" la salida los tiene.\n" #: eaarch64cloudabi.c:1072 eaarch64cloudabib.c:1072 eaarch64elf.c:1077 #: eaarch64elf32.c:1077 eaarch64elf32b.c:1077 eaarch64elfb.c:1077 #: eaarch64fbsd.c:1077 eaarch64fbsdb.c:1077 eaarch64haiku.c:1072 #: eaarch64linux.c:1077 eaarch64linux32.c:1077 eaarch64linux32b.c:1077 #: eaarch64linuxb.c:1077 eaarch64nto.c:1250 -#, fuzzy, c-format -#| msgid " -z pac-plt Protect PLTs with Pointer Authentication.\n" +#, c-format msgid " -z pac-plt Protect PLTs with Pointer Authentication.\n" -msgstr " -z pac-plt Protege PLTs con autenticación de puntero.\n" +msgstr " -z pac-plt Protege PLTs con autenticación de puntero.\n" #: eaarch64cloudabi.c:1074 eaarch64cloudabib.c:1074 eaarch64elf.c:1079 #: eaarch64elf32.c:1079 eaarch64elf32b.c:1079 eaarch64elfb.c:1079 @@ -4677,6 +4598,10 @@ msgid "" " always: always marks the output with GCS.\n" " never: never marks the output with GCS.\n" msgstr "" +" -z gcs=[always|never|implicit] Controla el que la salida disponga del mecanismo de pila de control protegida (GCS).\n" +" implicit (por defecto, si se omite '-z gcs'): deduce GCS de los objetos de entrada.\n" +" always: marca siempre la salida con GCS.\n" +" never: no marca nunca la salida con GCS.\n" #: eaarch64cloudabi.c:1079 eaarch64cloudabib.c:1079 eaarch64elf.c:1084 #: eaarch64elf32.c:1084 eaarch64elf32b.c:1084 eaarch64elfb.c:1084 @@ -4692,6 +4617,13 @@ msgid "" " error: Emit error when the input objects are missing GCS markings\n" " and output have GCS marking.\n" msgstr "" +" -z gcs-report[=none|warning|error] Emite aviso/error si no coincide la marcación GCS de los objetos de entrada y\n" +" de salida.\n" +" none: No emite mensajes de aviso/error.\n" +" warning (por defecto): Emite aviso cuando los objetos de entrada carecen de\n" +" marcas GCS y la salida los tiene.\n" +" error: Emite aviso cuando los objetos de entrada carecen de marcas GCS y\n" +" la salida los tiene.\n" #: eaarch64cloudabi.c:1086 eaarch64cloudabib.c:1086 eaarch64elf.c:1091 #: eaarch64elf32.c:1091 eaarch64elf32b.c:1091 eaarch64elfb.c:1091 @@ -4708,6 +4640,13 @@ msgid "" " error: Emit error when the input objects are missing GCS markings\n" " and output have GCS marking.\n" msgstr "" +" -z gcs-report-dynamic=none|warning|error Emite aviso/error si no coincide la marcación GCS de la unidad de enlace\n" +" actual y los objetos dinámicos de entrada.\n" +" none: No emite mensajes de aviso/error.\n" +" warning (por defecto): Emite aviso cuando los objetos de entrada carecen de\n" +" marcas GCS y la salida los tiene.\n" +" error: Emite aviso cuando los objetos de entrada carecen de marcas GCS y\n" +" la salida los tiene.\n" #: eaarch64cloudabi.c:1094 eaarch64cloudabib.c:1094 eaarch64elf.c:1099 #: eaarch64elf32.c:1099 eaarch64elf32b.c:1099 eaarch64elfb.c:1099 @@ -4725,52 +4664,55 @@ msgid "" " allocation tags detected on load/store operations.\n" " async: Enable imprecise exceptions.\n" msgstr "" +" -z memtag-mode[=none|sync|async] Selecciona el modo de operación extensión de etiquetado de\n" +" memoria. Emite una etiqueta dinámica DT_AARCH64_MEMTAG_MODE\n" +" para el binario. Esta entrada solo es válida en el ejecutable\n" +" principal. Se hace caso omiso en los objetos que el cargador\n" +" carga dinámicamente.\n" +" none (por defecto): Desactiva las comprobaciones MTE en\n" +" operaciones de lectura y escritura de memoria.\n" +" sync: Activa excepciones precisas cuando se detectan\n" +" discordancias en etiquetas de direcciones y de reserva\n" +" en operaciones de carga/almacenamiento.\n" +" async: Activa excepciones imprecisas.\n" #: eaarch64cloudabi.c:1103 eaarch64cloudabib.c:1103 eaarch64elf.c:1108 #: eaarch64elf32.c:1108 eaarch64elf32b.c:1108 eaarch64elfb.c:1108 #: eaarch64fbsd.c:1108 eaarch64fbsdb.c:1108 eaarch64haiku.c:1103 #: eaarch64linux.c:1108 eaarch64linux32.c:1108 eaarch64linux32b.c:1108 #: eaarch64linuxb.c:1108 eaarch64nto.c:1281 -#, fuzzy, c-format -#| msgid " -z pac-plt Protect PLTs with Pointer Authentication.\n" +#, c-format msgid " -z memtag-stack Mark program stack with MTE protection.\n" -msgstr " -z pac-plt Protege PLTs con autenticación de puntero.\n" +msgstr " -z memtag-stack Marca la pila del programa con protección MTE.\n" #: eaarch64nto.c:521 -#, fuzzy -#| msgid "%X%P: can not create note section: %E\n" msgid "%P: cannot create .note section in stub BFD.\n" -msgstr "%X%P: no se puede crear la sección de notas: %E\n" +msgstr "%P: no se puede crear la sección .note en el stub BFD.\n" #: eaarch64nto.c:530 -#, fuzzy -#| msgid "%F%P: failed to create .xtensa.info section\n" msgid "%P: failed to create .note section\n" -msgstr "%P: fallo al crear la sección .xtensa.info\n" +msgstr "%P: fallo al crear la sección .note\n" #: eaarch64nto.c:571 -#, fuzzy -#| msgid "%F%P: %pB: can't read contents of section .idata: %E\n" msgid "%P: %pB: can't read contents of section .note: %E\n" -msgstr "%P: %pB: no se puede leer el contenido de la sección .idata: %E\n" +msgstr "%P: %pB: no se puede leer el contenido de la sección .note: %E\n" #: eaarch64nto.c:581 eaarch64nto.c:585 -#, fuzzy -#| msgid "%P: %B: warning: duplicate section `%s' has different size\n" msgid "%P: %pB: warning: duplicated QNX stack .note detected\n" -msgstr "%P: %B: aviso: la sección duplicada `%s' tiene tamaño diferente\n" +msgstr "%P: %pB: aviso: se ha detectado .note del stack QNX duplicada\n" #: eaarch64nto.c:614 msgid "%P: error: --lazy-stack must follow -zstack-size=<size>\n" -msgstr "" +msgstr "%P: error: --lazy-stack debe ir después de -zstack-size=<tamaño>\n" #: eaarch64nto.c:1284 -#, fuzzy, c-format -#| msgid " --stack <size> Set size of the initial stack\n" +#, c-format msgid "" " --stack <size> Set size of the initial stack\n" " --lazy-stack Set lazy allocation of stack\n" -msgstr " --stack <size> Establece el tamaño de la pila inicial\n" +msgstr "" +" --stack <size> Establece el tamaño de la pila inicial\n" +" --lazy-stack Establece asignación perezosa de la pila\n" #: eaarch64pe.c:350 earm64pe.c:350 earm_wince_pe.c:338 earmpe.c:338 #: ei386pe.c:338 ei386pe_posix.c:338 ei386pep.c:350 emcorepe.c:338 eshpe.c:338 @@ -5153,10 +5095,9 @@ msgstr " --build-id[=ESTILO] Genera ID de build\n" #: eaarch64pe.c:406 earm64pe.c:406 earm_wince_pe.c:397 earmpe.c:397 #: ei386pe.c:397 ei386pe_posix.c:397 ei386pep.c:406 emcorepe.c:397 eshpe.c:397 -#, fuzzy, c-format -#| msgid " --build-id[=STYLE] Generate build ID\n" +#, c-format msgid " --pdb=[FILENAME] Generate PDB file\n" -msgstr " --build-id[=ESTILO] Genera ID de build\n" +msgstr " --pdb=[NOMBREFICH] Genera fichero PDB\n" #: eaarch64pe.c:535 earm64pe.c:535 earm_wince_pe.c:546 earmpe.c:546 #: ei386beos.c:188 ei386pe.c:546 ei386pe_posix.c:546 ei386pep.c:535 @@ -5167,32 +5108,24 @@ msgstr "%P: aviso: número de versión erróneo en la opción -subsystem\n" #: eaarch64pe.c:560 earm64pe.c:560 earm_wince_pe.c:571 earmpe.c:571 #: ei386beos.c:205 ei386pe.c:571 ei386pe_posix.c:571 ei386pep.c:560 #: emcorepe.c:571 eshpe.c:571 -#, fuzzy -#| msgid "%F%P: invalid subsystem type %s\n" msgid "%P: invalid subsystem type %s\n" msgstr "%P: tipo de subsistema %s inválido\n" #: eaarch64pe.c:581 earm64pe.c:581 earm_wince_pe.c:592 earmpe.c:592 #: ei386beos.c:215 ei386pe.c:592 ei386pe_posix.c:592 ei386pep.c:581 #: emcorepe.c:592 eshpe.c:592 -#, fuzzy -#| msgid "%F%P: invalid hex number for PE parameter '%s'\n" msgid "%P: invalid hex number for PE parameter '%s'\n" msgstr "%P: número hexadecimal inválido para el parámetro PE '%s'\n" #: eaarch64pe.c:598 earm64pe.c:598 earm_wince_pe.c:609 earmpe.c:609 #: ei386beos.c:230 ei386pe.c:609 ei386pe_posix.c:609 ei386pep.c:598 #: emcorepe.c:609 eshpe.c:609 -#, fuzzy -#| msgid "%F%P: strange hex info for PE parameter '%s'\n" msgid "%P: strange hex info for PE parameter '%s'\n" msgstr "%P: información hexadecimal extraña para el parámetro PE '%s'\n" #: eaarch64pe.c:615 earm64pe.c:615 earm_wince_pe.c:625 earmpe.c:625 #: eelf32mcore.c:356 ei386beos.c:245 ei386pe.c:625 ei386pe_posix.c:625 #: ei386pep.c:615 emcorepe.c:625 eshpe.c:625 -#, fuzzy -#| msgid "%F%P: cannot open base file %s\n" msgid "%P: cannot open base file %s\n" msgstr "%P: no se puede abrir el fichero base %s\n" @@ -5209,10 +5142,8 @@ msgstr "%P: aviso: --export-dynamic no se admite para objetivos PE+, ¿quiso dec #: eaarch64pe.c:997 earm64pe.c:997 earm_wince_pe.c:1049 earmpe.c:1049 #: ei386pe.c:1049 ei386pe_posix.c:1049 ei386pep.c:997 emcorepe.c:1049 #: eshpe.c:1049 -#, fuzzy -#| msgid "%P: warning: ignoring invalid module type %s\n" msgid "%P: warning: overwriting decorated name %s with %s\n" -msgstr "%P: aviso: se descartal tipo de módulo no válido %s\n" +msgstr "%P: aviso: se sobreescribe el nombre decorado %s con %s\n" #: eaarch64pe.c:1042 eaarch64pe.c:1070 earm64pe.c:1042 earm64pe.c:1070 #: ei386pep.c:1042 ei386pep.c:1070 @@ -5235,10 +5166,8 @@ msgstr "Use --disable-stdcall-fixup para desactivar estas composturas\n" #: eaarch64pe.c:1131 earm64pe.c:1131 earm_wince_pe.c:1115 earmpe.c:1115 #: ei386pe.c:1115 ei386pe_posix.c:1115 ei386pep.c:1131 emcorepe.c:1115 #: eshpe.c:1115 -#, fuzzy -#| msgid "%P: %C: cannot get section contents - auto-import exception\n" msgid "%P: %H: cannot get section contents - auto-import exception\n" -msgstr "%P: %C: no se puede obtener el contenido de la sección - excepción de auto-importación\n" +msgstr "%P: %H: no se puede obtener el contenido de la sección - excepción de auto-importación\n" #: eaarch64pe.c:1261 earm64pe.c:1261 earm_wince_pe.c:1246 earmpe.c:1246 #: ei386pe.c:1246 ei386pe_posix.c:1246 ei386pep.c:1261 emcorepe.c:1246 @@ -5255,8 +5184,6 @@ msgstr "%P: aviso: no se puede crear la sección .buildid, se descarta --build-i #: eaarch64pe.c:1468 earm64pe.c:1468 earm_wince_pe.c:1452 earmpe.c:1452 #: ei386pe.c:1452 ei386pe_posix.c:1452 ei386pep.c:1468 emcorepe.c:1452 #: eshpe.c:1452 -#, fuzzy -#| msgid "%F%P: cannot perform PE operations on non PE output file '%pB'\n" msgid "%P: cannot perform PE operations on non PE output file '%pB'\n" msgstr "%P: no se pueden realizar operaciones PE en el fichero de salida '%pB' que no es PE\n" @@ -5267,14 +5194,10 @@ msgid "%X%P: unable to process relocs: %E\n" msgstr "%X%P: no se pueden procesar las reubicaciones: %E\n" #: eaix5ppc.c:302 eaix5rs6.c:302 eaixppc.c:302 eaixrs6.c:302 eppcmacos.c:302 -#, fuzzy -#| msgid "%F%P: cannot open %s\n" msgid "%P: cannot open %s\n" msgstr "%P: no se puede abrir %s\n" #: eaix5ppc.c:350 eaix5rs6.c:350 eaixppc.c:350 eaixrs6.c:350 eppcmacos.c:350 -#, fuzzy -#| msgid "%F%P: cannot read %s\n" msgid "%P: cannot read %s\n" msgstr "%P: no se puede leer %s\n" @@ -5307,34 +5230,24 @@ msgid "%P: warning: ignoring invalid -pT number %s\n" msgstr "%P: aviso: se descartal número -pT no válido %s\n" #: eaix5ppc.c:701 eaix5rs6.c:701 eaixppc.c:701 eaixrs6.c:701 eppcmacos.c:701 -#, fuzzy -#| msgid "%F%P: bfd_xcoff_link_record_set failed: %E\n" msgid "%P: bfd_xcoff_link_record_set failed: %E\n" msgstr "%P: falló bfd_xcoff_link_record_set: %E\n" #: eaix5ppc.c:731 eaix5rs6.c:731 eaixppc.c:731 eaixrs6.c:731 eppcmacos.c:731 -#, fuzzy -#| msgid "%F%P: bfd_link_hash_lookup of export symbol failed: %E\n" msgid "%P: bfd_link_hash_lookup of export symbol failed: %E\n" msgstr "%P: falló bfd_link_hash_lookup: %E\n" #: eaix5ppc.c:733 eaix5rs6.c:733 eaixppc.c:733 eaixrs6.c:733 eppcmacos.c:733 -#, fuzzy -#| msgid "%F%P: bfd_xcoff_export_symbol failed: %E\n" msgid "%P: bfd_xcoff_export_symbol failed: %E\n" msgstr "%P: falló bfd_xcoff_export_symbol: %E\n" #: eaix5ppc.c:838 eaix5rs6.c:838 eaixppc.c:838 eaixrs6.c:838 eppcmacos.c:838 -#, fuzzy -#| msgid "%F%P: can't find output section %s\n" msgid "%P: can't find output section %pA\n" -msgstr "%P: no se puede encontrar la sección de salida %s\n" +msgstr "%P: no se puede encontrar la sección de salida %pA\n" #: eaix5ppc.c:875 eaix5rs6.c:875 eaixppc.c:875 eaixrs6.c:875 eppcmacos.c:875 -#, fuzzy -#| msgid "%F%P: can't find %s in output section\n" msgid "%P: can't find %pA in output section\n" -msgstr "%P: no se puede encontrar %s en la sección de salida\n" +msgstr "%P: no se puede encontrar %pA en la sección de salida\n" #: eaix5ppc.c:941 eaix5rs6.c:941 eaixppc.c:941 eaixrs6.c:941 eppcmacos.c:941 msgid "%P: can't find required output section %s\n" @@ -5342,29 +5255,21 @@ msgstr "%P: no se puede encontrar la sección de salida requerida %s\n" #: eaix5ppc.c:1123 eaix5rs6.c:1123 eaixppc.c:1123 eaixrs6.c:1123 #: eppcmacos.c:1123 -#, fuzzy -#| msgid "%X%P: can not size stub section: %E\n" msgid "%X%P: can not size stub sections: %E\n" -msgstr "%X%P: no se puede medir la sección de stub: %E\n" +msgstr "%X%P: no se pueden dimensionar las secciones stub: %E\n" #: eaix5ppc.c:1128 eaix5rs6.c:1128 eaixppc.c:1128 eaixrs6.c:1128 #: eppcmacos.c:1128 -#, fuzzy -#| msgid "%F%P: failed to set dynamic section sizes: %E\n" msgid "%P: failed to layout dynamic sections: %E\n" -msgstr "%P: no se han podido establecer los tamaños de las secciones dinámicas: %E\n" +msgstr "%P: no se han podido diseñar las secciones dinámicas: %E\n" #: eaix5ppc.c:1341 eaix5rs6.c:1341 eaixppc.c:1341 eaixrs6.c:1341 #: eppcmacos.c:1341 -#, fuzzy -#| msgid "%F%P:%s:%d: #! ([member]) is not supported in import files\n" msgid "%P:%s:%d: #! ([member]) is not supported in import files\n" msgstr "%P:%s:%d: #! ([miembro]) no se admite en ficheros de importación\n" #: eaix5ppc.c:1358 eaix5rs6.c:1358 eaixppc.c:1358 eaixrs6.c:1358 #: eppcmacos.c:1358 -#, fuzzy -#| msgid "%F%P: could not parse import path: %E\n" msgid "%P: could not parse import path: %E\n" msgstr "%P: no se puede analizar la ruta de importación: %E\n" @@ -5396,31 +5301,23 @@ msgstr "%P:%s:%d: aviso: se descarta la lÃnea última inacabada\n" #: eaix5ppc.c:1513 eaix5rs6.c:1513 eaixppc.c:1513 eaixrs6.c:1513 #: eppcmacos.c:1513 -#, fuzzy -#| msgid "%F%P: only relocations against symbols are permitted\n" msgid "%P: only relocations against symbols are permitted\n" msgstr "%P: solo se permiten reubicaciones contra sÃmbolos\n" #: eaix5ppc.c:1516 eaix5rs6.c:1516 eaixppc.c:1516 eaixrs6.c:1516 #: eppcmacos.c:1516 -#, fuzzy -#| msgid "%F%P: bfd_xcoff_link_count_reloc failed: %E\n" msgid "%P: bfd_xcoff_link_count_reloc failed: %E\n" msgstr "%P: falló bfd_xcoff_link_count_reloc: %E\n" #: eaix5ppc.c:1604 eaix5rs6.c:1604 eaixppc.c:1604 eaixrs6.c:1604 #: eppcmacos.c:1604 -#, fuzzy -#| msgid "%X%P: can not create stub BFD: %E\n" msgid "%P: can not create stub BFD: %E\n" -msgstr "%X%P: no se puede crear stub BFD: %E\n" +msgstr "%P: no se puede crear stub BFD: %E\n" #: eaix5ppc.c:1614 eaix5rs6.c:1614 eaixppc.c:1614 eaixrs6.c:1614 #: eelf32kvx.c:324 eelf64_s390.c:66 eelf64kvx.c:324 eelf64kvx_linux.c:322 #: eelf64lppc.c:132 eelf64lppc_fbsd.c:132 eelf64ppc.c:132 eelf64ppc_fbsd.c:132 #: eppcmacos.c:1614 -#, fuzzy -#| msgid "%F%P: can not init BFD: %E\n" msgid "%P: can not init BFD: %E\n" msgstr "%P: no se puede inicializar BFD: %E\n" @@ -5593,8 +5490,6 @@ msgstr "%P: se encontraron errores al procesar el fichero %s\n" #: earmelfb_fuchsia.c:556 earmelfb_linux.c:556 earmelfb_linux_eabi.c:556 #: earmelfb_linux_fdpiceabi.c:556 earmelfb_nacl.c:556 earmelfb_nbsd.c:555 #: earmnto.c:555 -#, fuzzy -#| msgid "%F%P: %s: can't open: %E\n" msgid "%P: %s: can't open: %E\n" msgstr "%P: %s: no se puede abrir: %E\n" @@ -5605,10 +5500,8 @@ msgstr "%P: %s: no se puede abrir: %E\n" #: earmelfb_fuchsia.c:559 earmelfb_linux.c:559 earmelfb_linux_eabi.c:559 #: earmelfb_linux_fdpiceabi.c:559 earmelfb_nacl.c:559 earmelfb_nbsd.c:558 #: earmnto.c:558 -#, fuzzy -#| msgid "%F%P: %s: not a relocatable file: %E\n" msgid "%P: %s: not a relocatable file: %E\n" -msgstr "%P: %s no es un fichero reubicable: %E\n" +msgstr "%P: %s: no es un fichero reubicable: %E\n" #: earmelf.c:1101 earmelf_fbsd.c:1101 earmelf_fuchsia.c:1106 #: earmelf_haiku.c:1106 earmelf_linux.c:1106 earmelf_linux_eabi.c:1106 @@ -5966,8 +5859,6 @@ msgid "%X%P: can not create note section: %E\n" msgstr "%X%P: no se puede crear la sección de notas: %E\n" #: eelf32_spu.c:347 -#, fuzzy -#| msgid "%F%P: no built-in overlay manager\n" msgid "%P: no built-in overlay manager\n" msgstr "%P: ningún gestor de recubrimientos incorporado\n" @@ -5992,8 +5883,6 @@ msgid "%X%P: can not size overlay stubs: %E\n" msgstr "%X%P: no se puede calcular tamaño de stubs de recubrimientos: %E\n" #: eelf32_spu.c:524 -#, fuzzy -#| msgid "%F%P: can not open script: %E\n" msgid "%P: can not open script: %E\n" msgstr "%P: no se puede abrir el script: %E\n" @@ -6006,50 +5895,34 @@ msgid "%P: --auto-overlay ignored with zero local store range\n" msgstr "%P: --auto-overlay descartado con rango de almacenamiento local cero\n" #: eelf32_spu.c:939 -#, fuzzy -#| msgid "%F%P: invalid --local-store address range `%s'\n" msgid "%P: invalid --local-store address range `%s'\n" msgstr "%P: rango de direcciones --local-store no válido `%s'\n" #: eelf32_spu.c:975 -#, fuzzy -#| msgid "%F%P: invalid --num-lines/--num-regions `%u'\n" msgid "%P: invalid --num-lines/--num-regions `%u'\n" msgstr "%P --num-lines/--num-regions no válido `%u'\n" #: eelf32_spu.c:980 -#, fuzzy -#| msgid "%F%P: invalid --line-size/--region-size `%u'\n" msgid "%P: invalid --line-size/--region-size `%u'\n" msgstr "%P: --line-size/--region-size no válido `%u'\n" #: eelf32_spu.c:1001 -#, fuzzy -#| msgid "%F%P: invalid --num-lines/--num-regions `%s'\n" msgid "%P: invalid --num-lines/--num-regions `%s'\n" msgstr "%P: --num-lines/--num-regions no válido `%s'\n" #: eelf32_spu.c:1014 -#, fuzzy -#| msgid "%F%P: invalid --line-size/--region-size `%s'\n" msgid "%P: invalid --line-size/--region-size `%s'\n" msgstr "%P: --line-size/--region-size no válido `%s'\n" #: eelf32_spu.c:1023 -#, fuzzy -#| msgid "%F%P: invalid --fixed-space value `%s'\n" msgid "%P: invalid --fixed-space value `%s'\n" msgstr "%P: valor de --fixed-space no válido `%s'\n" #: eelf32_spu.c:1032 -#, fuzzy -#| msgid "%F%P: invalid --reserved-space value `%s'\n" msgid "%P: invalid --reserved-space value `%s'\n" msgstr "%P: valor de --reserved-space no válido `%s'\n" #: eelf32_spu.c:1041 -#, fuzzy -#| msgid "%F%P: invalid --extra-stack-space value `%s'\n" msgid "%P: invalid --extra-stack-space value `%s'\n" msgstr "%P: valor de --extra-stack-space no válido `%s'\n" @@ -6189,24 +6062,18 @@ msgstr " --lrlive-analysis Examina la vitalidad lr en el prólogo de #: eelf32_tic6x_be.c:90 eelf32_tic6x_elf_be.c:90 eelf32_tic6x_elf_le.c:90 #: eelf32_tic6x_le.c:90 eelf32_tic6x_linux_be.c:90 eelf32_tic6x_linux_le.c:90 -#, fuzzy -#| msgid "%F%P: invalid --dsbt-index %d, outside DSBT size\n" msgid "%P: invalid --dsbt-index %d, outside DSBT size\n" msgstr "%P: --dsbt-index %d no válido, tamaño fuera de DSBT\n" #: eelf32_tic6x_be.c:629 eelf32_tic6x_elf_be.c:629 eelf32_tic6x_elf_le.c:629 #: eelf32_tic6x_le.c:629 eelf32_tic6x_linux_be.c:629 #: eelf32_tic6x_linux_le.c:629 -#, fuzzy -#| msgid "%F%P: invalid --dsbt-index %s\n" msgid "%P: invalid --dsbt-index %s\n" msgstr "%P: --dsbt-index no válido %s\n" #: eelf32_tic6x_be.c:639 eelf32_tic6x_elf_be.c:639 eelf32_tic6x_elf_le.c:639 #: eelf32_tic6x_le.c:639 eelf32_tic6x_linux_be.c:639 #: eelf32_tic6x_linux_le.c:639 -#, fuzzy -#| msgid "%F%P: invalid --dsbt-size %s\n" msgid "%P: invalid --dsbt-size %s\n" msgstr "%P: --dsbt-size no válido %s\n" @@ -6246,8 +6113,6 @@ msgstr " Desactiva la fusión de entradas exidx\n" #: eelf_i386_sol2.c:725 eelf_i386_vxworks.c:619 eelf_iamcu.c:593 #: eelf_x86_64.c:8638 eelf_x86_64_cloudabi.c:636 eelf_x86_64_fbsd.c:636 #: eelf_x86_64_haiku.c:636 eelf_x86_64_sol2.c:768 -#, fuzzy -#| msgid "%F%P: invalid number for -z call-nop=prefix-: %s\n" msgid "%P: invalid number for -z call-nop=prefix-: %s\n" msgstr "%P: número no válido para -z call-nop=prefix-: %s\n" @@ -6256,8 +6121,6 @@ msgstr "%P: número no válido para -z call-nop=prefix-: %s\n" #: eelf_i386_sol2.c:734 eelf_i386_vxworks.c:628 eelf_iamcu.c:602 #: eelf_x86_64.c:8647 eelf_x86_64_cloudabi.c:645 eelf_x86_64_fbsd.c:645 #: eelf_x86_64_haiku.c:645 eelf_x86_64_sol2.c:777 -#, fuzzy -#| msgid "%F%P: invalid number for -z call-nop=suffix-: %s\n" msgid "%P: invalid number for -z call-nop=suffix-: %s\n" msgstr "%P: número no válido para -z call-nop=suffix-: %s\n" @@ -6266,34 +6129,26 @@ msgstr "%P: número no válido para -z call-nop=suffix-: %s\n" #: eelf_i386_sol2.c:739 eelf_i386_vxworks.c:633 eelf_iamcu.c:607 #: eelf_x86_64.c:8652 eelf_x86_64_cloudabi.c:650 eelf_x86_64_fbsd.c:650 #: eelf_x86_64_haiku.c:650 eelf_x86_64_sol2.c:782 -#, fuzzy -#| msgid "%F%P: unsupported option: -z %s\n" msgid "%P: unsupported option: -z %s\n" msgstr "%P: no se admite la opción: -z %s\n" #: eelf32_x86_64.c:8674 eelf_i386.c:8097 eelf_i386_fbsd.c:629 #: eelf_i386_haiku.c:629 eelf_x86_64.c:8674 eelf_x86_64_cloudabi.c:672 #: eelf_x86_64_fbsd.c:672 eelf_x86_64_haiku.c:672 eelf_x86_64_sol2.c:804 -#, fuzzy -#| msgid "%F%P: invalid option for -z cet-report=: %s\n" msgid "%P: invalid option for -z cet-report=: %s\n" msgstr "%P: origen no válido para -z cet-report=: %s\n" #: eelf32_x86_64.c:8688 eelf_i386.c:8111 eelf_i386_fbsd.c:643 #: eelf_i386_haiku.c:643 eelf_x86_64.c:8688 eelf_x86_64_cloudabi.c:686 #: eelf_x86_64_fbsd.c:686 eelf_x86_64_haiku.c:686 eelf_x86_64_sol2.c:818 -#, fuzzy -#| msgid "%F%P: invalid x86-64 ISA level: %s\n" msgid "%P: invalid x86-64 ISA level: %s\n" msgstr "%P: nivel ISA x86-64 inválido: %s\n" #: eelf32_x86_64.c:8704 eelf_i386.c:8127 eelf_i386_fbsd.c:659 #: eelf_i386_haiku.c:659 eelf_x86_64.c:8704 eelf_x86_64_cloudabi.c:702 #: eelf_x86_64_fbsd.c:702 eelf_x86_64_haiku.c:702 eelf_x86_64_sol2.c:834 -#, fuzzy -#| msgid "%F%P: invalid option for -z cet-report=: %s\n" msgid "%P: invalid option for -z isa-level-report=: %s\n" -msgstr "%P: origen no válido para -z cet-report=: %s\n" +msgstr "%P: opción no válida para -z isa-level-report=: %s\n" #: eelf32_x86_64.c:8751 eelf_i386.c:8169 eelf_i386_be.c:572 #: eelf_i386_fbsd.c:701 eelf_i386_haiku.c:701 eelf_i386_ldso.c:592 @@ -6311,7 +6166,7 @@ msgstr " -z noextern-protected-data No trata los sÃmbolos de datos protegidos #: eelf_x86_64_haiku.c:801 eelf_x86_64_sol2.c:933 #, c-format msgid " -z indirect-extern-access Enable indirect external access\n" -msgstr "" +msgstr " -z indirect-extern-access Activa acceso externo indirecto\n" #: eelf32_x86_64.c:8755 eelf_i386.c:8173 eelf_i386_be.c:576 #: eelf_i386_fbsd.c:705 eelf_i386_haiku.c:705 eelf_i386_ldso.c:596 @@ -6320,7 +6175,7 @@ msgstr "" #: eelf_x86_64_haiku.c:803 eelf_x86_64_sol2.c:935 #, c-format msgid " -z noindirect-extern-access Disable indirect external access (default)\n" -msgstr "" +msgstr " -z noindirect-extern-access Desactiva acceso externo indirecto (predefinido)\n" #: eelf32_x86_64.c:8758 eelf32lppc.c:869 eelf32lppclinux.c:869 #: eelf32lppcnto.c:869 eelf32lppcsim.c:869 eelf32ppc.c:869 eelf32ppc_fbsd.c:869 @@ -6396,7 +6251,7 @@ msgstr "" #: eelf_x86_64_fbsd.c:826 eelf_x86_64_haiku.c:826 eelf_x86_64_sol2.c:958 #, c-format msgid " -z report-relative-reloc Report relative relocations\n" -msgstr "" +msgstr " -z report-relative-reloc Informa de reubicacioens relativas\n" #: eelf32_x86_64.c:8781 eelf_i386.c:8196 eelf_i386_fbsd.c:728 #: eelf_i386_haiku.c:728 eelf_x86_64.c:8831 eelf_x86_64_cloudabi.c:829 @@ -6408,16 +6263,13 @@ msgstr " -z x86-64-{baseline|v[234]} Marca el nivel ISA x86-64-{baseline|v[234] #: eelf32_x86_64.c:8784 eelf_i386.c:8199 eelf_i386_fbsd.c:731 #: eelf_i386_haiku.c:731 eelf_x86_64.c:8834 eelf_x86_64_cloudabi.c:832 #: eelf_x86_64_fbsd.c:832 eelf_x86_64_haiku.c:832 eelf_x86_64_sol2.c:964 -#, fuzzy, c-format -#| msgid "" -#| " -z lam-u48-report=[none|warning|error] (default: none)\n" -#| " Report missing LAM_U48 property\n" +#, c-format msgid "" " -z isa-level-report=[none|all|needed|used] (default: none)\n" " Report x86-64 ISA level\n" msgstr "" -" -z lam-u48-report=[none|warning|error] (predefinido: none)\n" -" Informa de la falta de la propiedad LAM_U48\n" +" -z isa-level-report=[none|all|needed|used] (predefinido: none)\n" +" Informa del nivel ISA x86-64\n" #: eelf32_x86_64.c:8789 eelf_x86_64.c:8853 eelf_x86_64_cloudabi.c:851 #: eelf_x86_64_fbsd.c:851 eelf_x86_64_haiku.c:851 eelf_x86_64_sol2.c:983 @@ -6426,6 +6278,8 @@ msgid "" " -z mark-plt Mark PLT with dynamic tags (default)\n" " -z nomark-plt Do not mark PLT with dynamic tags\n" msgstr "" +" -z mark-plt Marca PLT con etiquetas dinámicas (predefinido)\n" +" -z nomark-plt No marca PLT con etiquetas dinámicas\n" #: eelf32_x86_64.c:8793 eelf_x86_64.c:8857 eelf_x86_64_cloudabi.c:855 #: eelf_x86_64_fbsd.c:855 eelf_x86_64_haiku.c:855 eelf_x86_64_sol2.c:987 @@ -6434,6 +6288,8 @@ msgid "" " -z mark-plt Mark PLT with dynamic tags\n" " -z nomark-plt Do not mark PLT with dynamic tags (default)\n" msgstr "" +" -z mark-plt Marca PLT con etiquetas dinámicas\n" +" -z nomark-plt No marca PLT con etiquetas dinámicas (predefinido)\n" #: eelf32_x86_64.c:8797 eelf64loongarch.c:619 eelf64lppc.c:1389 #: eelf64lppc_fbsd.c:1389 eelf64ppc.c:1389 eelf64ppc_fbsd.c:1389 @@ -6442,7 +6298,7 @@ msgstr "" #: eelf_x86_64_haiku.c:859 eelf_x86_64_sol2.c:991 #, c-format msgid " -z pack-relative-relocs Pack relative relocations\n" -msgstr "" +msgstr " -z pack-relative-relocs Empaqueta reubicaciones relativas\n" #: eelf32_x86_64.c:8799 eelf64loongarch.c:621 eelf64lppc.c:1391 #: eelf64lppc_fbsd.c:1391 eelf64ppc.c:1391 eelf64ppc_fbsd.c:1391 @@ -6451,7 +6307,7 @@ msgstr "" #: eelf_x86_64_haiku.c:861 eelf_x86_64_sol2.c:993 #, c-format msgid " -z nopack-relative-relocs Do not pack relative relocations (default)\n" -msgstr "" +msgstr " -z nopack-relative-relocs No empaqueta reubicaciones relativas (predefinido)\n" #: eelf32b4300.c:775 eelf32bmip.c:775 eelf32bmipn32.c:789 eelf32bsmip.c:789 #: eelf32btsmip.c:775 eelf32btsmip_fbsd.c:775 eelf32btsmipn32.c:775 @@ -6553,22 +6409,17 @@ msgstr " --data-in-l1 Pone los datos en L1\n" #: eelf32lriscv.c:641 eelf32lriscv_ilp32.c:641 eelf32lriscv_ilp32f.c:641 #: eelf64briscv.c:641 eelf64briscv_lp64.c:641 eelf64briscv_lp64f.c:641 #: eelf64lriscv.c:641 eelf64lriscv_lp64.c:641 eelf64lriscv_lp64f.c:641 -#, fuzzy, c-format -#| msgid " --plugin Make SPU plugin\n" +#, c-format msgid " --relax-gp Perform GP relaxation\n" -msgstr " --plugin Produce plugin SPU\n" +msgstr " --relax-gp Realiza relajación GP\n" #: eelf32briscv.c:642 eelf32briscv_ilp32.c:642 eelf32briscv_ilp32f.c:642 #: eelf32lriscv.c:642 eelf32lriscv_ilp32.c:642 eelf32lriscv_ilp32f.c:642 #: eelf64briscv.c:642 eelf64briscv_lp64.c:642 eelf64briscv_lp64f.c:642 #: eelf64lriscv.c:642 eelf64lriscv_lp64.c:642 eelf64lriscv_lp64f.c:642 -#, fuzzy, c-format -#| msgid " --no-toc-sort Don't sort TOC and GOT sections\n" +#, c-format msgid " --no-relax-gp Don't perform GP relaxation\n" -msgstr "" -" --no-toc-sort No ordena las secciones TOC y GOT\n" -" -z nocombreloc No funde las reubicaciones dinámicas en una\n" -" sola sección\n" +msgstr " --no-relax-gp No realiza relajación GP\n" #: eelf32briscv.c:643 eelf32briscv_ilp32.c:643 eelf32briscv_ilp32f.c:643 #: eelf32lriscv.c:643 eelf32lriscv_ilp32.c:643 eelf32lriscv_ilp32f.c:643 @@ -6576,7 +6427,7 @@ msgstr "" #: eelf64lriscv.c:643 eelf64lriscv_lp64.c:643 eelf64lriscv_lp64f.c:643 #, c-format msgid " --check-uleb128 Check if SUB_ULEB128 has non-zero addend\n" -msgstr "" +msgstr " --check-uleb128 Comprueba si SUB_ULEB128 tiene adenda distinta de cero\n" #: eelf32briscv.c:644 eelf32briscv_ilp32.c:644 eelf32briscv_ilp32f.c:644 #: eelf32lriscv.c:644 eelf32lriscv_ilp32.c:644 eelf32lriscv_ilp32f.c:644 @@ -6584,17 +6435,13 @@ msgstr "" #: eelf64lriscv.c:644 eelf64lriscv_lp64.c:644 eelf64lriscv_lp64f.c:644 #, c-format msgid " --no-check-uleb128 Don't check if SUB_ULEB128 has non-zero addend\n" -msgstr "" +msgstr " --no-check-uleb128 No comprueba si SUB_ULEB128 tiene adenda distinta de cero\n" #: eelf32cr16.c:88 -#, fuzzy -#| msgid "%F%P: %pB: all input objects must be COFF or ELF for --embedded-relocs\n" msgid "%P: %pB: all input objects must be COFF or ELF for --embedded-relocs\n" msgstr "%P: %pB: todos los objetos de entrada deben ser COFF o ELF para --embedded-relocs\n" #: eelf32cr16.c:112 em68kelf.c:116 em68kelfnbsd.c:116 -#, fuzzy -#| msgid "%F%P: %pB: can not create .emreloc section: %E\n" msgid "%P: %pB: can not create .emreloc section: %E\n" msgstr "%P: %pB: no se puede crear la sección .emreloc: %E\n" @@ -6611,16 +6458,12 @@ msgid "%X%P: %pB: can not create runtime reloc information: %s\n" msgstr "%X%P: %pB: no se puede crear información de reubicación para tiempo de ejecución: %s\n" #: eelf32kvx.c:64 eelf64kvx.c:64 -#, fuzzy -#| msgid "%F%P: -pie not supported\n" msgid ":%P: -pie not supported\n" -msgstr "%P: no se admite -pie\n" +msgstr ":%P: no se admite -pie\n" #: eelf32kvx.c:316 eelf64kvx.c:316 eelf64kvx_linux.c:314 -#, fuzzy -#| msgid "%F%P: can not create BFD: %E\n" msgid "%P: can not create BFD %E\n" -msgstr "%P: no se puede crear BFD: %E\n" +msgstr "%P: no se puede crear BFD %E\n" #: eelf32lppc.c:99 eelf32lppclinux.c:99 eelf32lppcnto.c:99 eelf32lppcsim.c:99 #: eelf32ppc.c:99 eelf32ppc_fbsd.c:99 eelf32ppchaiku.c:99 eelf32ppclinux.c:99 @@ -6659,8 +6502,6 @@ msgstr "%X%P: ppc_finish_symbols problema %E\n" #: eelf32ppcsim.c:810 eelf32ppcvxworks.c:780 eelf32ppcwindiss.c:810 #: eelf64lppc.c:1252 eelf64lppc_fbsd.c:1252 eelf64ppc.c:1252 #: eelf64ppc_fbsd.c:1252 -#, fuzzy -#| msgid "%F%P: invalid --plt-align `%s'\n" msgid "%P: invalid --plt-align `%s'\n" msgstr "%P: --plt-align no válido `%s'\n" @@ -6668,8 +6509,6 @@ msgstr "%P: --plt-align no válido `%s'\n" #: eelf32lppcsim.c:843 eelf32ppc.c:843 eelf32ppc_fbsd.c:843 #: eelf32ppchaiku.c:843 eelf32ppclinux.c:843 eelf32ppcnto.c:843 #: eelf32ppcsim.c:843 eelf32ppcvxworks.c:813 eelf32ppcwindiss.c:843 -#, fuzzy -#| msgid "%F%P: invalid pagesize `%s'\n" msgid "%P: invalid pagesize `%s'\n" msgstr "%P: tamaño de página no válido `%s'\n" @@ -6890,8 +6729,6 @@ msgid "%P: warning: failed to convert %s table in %pB (%s); subsequent disassemb msgstr "%P: aviso: no se ha podido convertir la tabla de %s en %pB (%s); el desensamblaje subsiguiente puede estar incompleto\n" #: eelf32xtensa.c:421 -#, fuzzy -#| msgid "%F%P: %pB: cannot read contents of section %pA\n" msgid "%P: %pB: cannot read contents of section %pA\n" msgstr "%P: %pB: no se puede leer el contenido de la sección %pA\n" @@ -6904,32 +6741,22 @@ msgid "%P: %pB: warning: cannot parse .xtensa.info section\n" msgstr "%P: %pB: aviso: no se puede analizar la sección .xtensa.info\n" #: eelf32xtensa.c:462 -#, fuzzy -#| msgid "%F%P: little endian output does not match Xtensa configuration\n" msgid "%P: little endian output does not match Xtensa configuration\n" msgstr "%P: la salida «little endian» no concuerda con la configuración Xtensa\n" #: eelf32xtensa.c:468 -#, fuzzy -#| msgid "%F%P: big endian output does not match Xtensa configuration\n" msgid "%P: big endian output does not match Xtensa configuration\n" msgstr "%P: la salida «big endian» no concuerda con la configuración Xtensa\n" #: eelf32xtensa.c:487 -#, fuzzy -#| msgid "%F%P: cross-endian linking for %pB not supported\n" msgid "%P: cross-endian linking for %pB not supported\n" msgstr "%P: no se admite el enlazamiento con «endian» cruzado para %pB\n" #: eelf32xtensa.c:518 -#, fuzzy -#| msgid "%F%P: failed to create .xtensa.info section\n" msgid "%P: failed to create .xtensa.info section\n" msgstr "%P: fallo al crear la sección .xtensa.info\n" #: eelf32xtensa.c:1257 -#, fuzzy -#| msgid "%F%P: Relaxation not supported with --enable-non-contiguous-regions.\n" msgid "%P: Relaxation not supported with --enable-non-contiguous-regions.\n" msgstr "%P: No se admite relajar con --enable-non-contiguous-regions.\n" @@ -6953,8 +6780,6 @@ msgid " --abi-call0 Choose call0 ABI for the output object\n" msgstr " --abi-call0 Elige ABI call0 para el objeto de salida\n" #: eelf32z80.c:70 ez80.c:59 -#, fuzzy -#| msgid "%F%P: %pB: Instruction sets of object files incompatible\n" msgid "%P: %pB: Instruction sets of object files incompatible\n" msgstr "%P: %pB: Conjuntos de instrucciones de los ficheros objeto incompatibles\n" @@ -6994,8 +6819,6 @@ msgstr "%P: los fragmentos .init/.fini utilizan punteros TOC que difieren\n" #: eelf64lppc.c:1281 eelf64lppc_fbsd.c:1281 eelf64ppc.c:1281 #: eelf64ppc_fbsd.c:1281 -#, fuzzy -#| msgid "%F%P: invalid --power10-stubs argument `%s'\n" msgid "%P: invalid --power10-stubs argument `%s'\n" msgstr "%P: argumento de --power10-stubs no válido `%s'\n" @@ -7173,29 +6996,21 @@ msgid "%X%P: too many global registers: %u, max 223\n" msgstr "%X%P: demasiados registros globales: %u, máx 223\n" #: eelf64mmix.c:144 emmo.c:144 -#, fuzzy -#| msgid "%F%P: can't finalize linker-allocated global registers\n" msgid "%P: can't finalize linker-allocated global registers\n" msgstr "%P: no se pueden finalizar los registros globales asignados por el enlazador\n" #: eelf_x86_64.c:8719 eelf_x86_64_cloudabi.c:717 eelf_x86_64_fbsd.c:717 #: eelf_x86_64_haiku.c:717 eelf_x86_64_sol2.c:849 -#, fuzzy -#| msgid "%F%P: invalid option for -z lam-u48-report=: %s\n" msgid "%P: invalid option for -z lam-u48-report=: %s\n" msgstr "%P: opción no válida para -z lam-u48-report=: %s\n" #: eelf_x86_64.c:8733 eelf_x86_64_cloudabi.c:731 eelf_x86_64_fbsd.c:731 #: eelf_x86_64_haiku.c:731 eelf_x86_64_sol2.c:863 -#, fuzzy -#| msgid "%F%P: invalid option for -z lam-u57-report=: %s\n" msgid "%P: invalid option for -z lam-u57-report=: %s\n" msgstr "%P: opción no válida para -z lam-u57-report=: %s\n" #: eelf_x86_64.c:8754 eelf_x86_64_cloudabi.c:752 eelf_x86_64_fbsd.c:752 #: eelf_x86_64_haiku.c:752 eelf_x86_64_sol2.c:884 -#, fuzzy -#| msgid "%F%P: invalid option for -z lam-report=: %s\n" msgid "%P: invalid option for -z lam-report=: %s\n" msgstr "%P: opción no válida para -z lam-report=: %s\n" @@ -7257,26 +7072,18 @@ msgstr "" " múltiples\n" #: ei386beos.c:354 -#, fuzzy -#| msgid "%F%P: PE operations on non PE file\n" msgid "%P: PE operations on non PE file\n" msgstr "%P: operaciones PE en un fichero que no es PE\n" #: ei386beos.c:403 ei386beos.c:408 -#, fuzzy -#| msgid "%F%P: %pB: can't read contents of section .idata: %E\n" msgid "%P: %pB: can't read contents of section .idata: %E\n" msgstr "%P: %pB: no se puede leer el contenido de la sección .idata: %E\n" #: ei386beos.c:640 -#, fuzzy -#| msgid "%F%P: section %s has '$' as first character\n" msgid "%P: section %s has '$' as first character\n" msgstr "%P: la sección %s tiene un '$' como primer carácter\n" #: ei386beos.c:670 -#, fuzzy -#| msgid "%F%P: *(%s$) missing from linker script\n" msgid "%P: *(%s$) missing from linker script\n" msgstr "%P: falta *(%s$) en el «script» del enlazador \n" @@ -7307,8 +7114,6 @@ msgstr "" " describe la disposición de la ventana del banco de memoria\n" #: em68kelf.c:92 em68kelfnbsd.c:92 -#, fuzzy -#| msgid "%F%P: %pB: all input objects must be ELF for --embedded-relocs\n" msgid "%P: %pB: all input objects must be ELF for --embedded-relocs\n" msgstr "%P: %pB: todos los objetos de entrada deben ser ELF para --embedded-relocs\n" @@ -7387,8 +7192,6 @@ msgstr "%P: no se reconoce el argumento de la opción --data-region=: \"%s\"\n" #. Incompatible objects. #: ends32belf.c:129 ends32belf16m.c:129 ends32belf_linux.c:129 ends32elf.c:129 #: ends32elf16m.c:129 ends32elf_linux.c:129 -#, fuzzy -#| msgid "%F%P: %pB: ABI version of object files mismatched\n" msgid "%P: %pB: ABI version of object files mismatched\n" msgstr "%P: %pB: versión ABI de los ficheros objeto discordantes\n" @@ -7470,8 +7273,6 @@ msgid " --format 0|1|2 Specify which COFF version to use\n" msgstr " --format 0|1|2 Especifica qué versión COFF utilizar\n" #: etic3xcoff.c:91 etic3xcoff_onchip.c:91 etic4xcoff.c:91 etic54xcoff.c:91 -#, fuzzy -#| msgid "%F%P: invalid COFF format version %s\n" msgid "%P: invalid COFF format version %s\n" msgstr "%P: versión no válida de formato COFF %s\n" diff --git a/ld/po/fi.po b/ld/po/fi.po index d220e3b..d28066e 100644 --- a/ld/po/fi.po +++ b/ld/po/fi.po @@ -1685,7 +1685,7 @@ msgstr "Eheytä symbolinnimet [käyttäen TYYLIä]" #: lexsup.c:319 msgid "" "Do not allow multiple definitions with symbols included\n" -" in filename invoked by -R or --just-symbols" +" in filename invoked by -R or --just-symbols" msgstr "" #: lexsup.c:323 diff --git a/ld/po/pt_BR.po b/ld/po/pt_BR.po index 8223f2c..3808543 100644 --- a/ld/po/pt_BR.po +++ b/ld/po/pt_BR.po @@ -1617,7 +1617,7 @@ msgstr "" #: lexsup.c:335 msgid "" "Do not allow multiple definitions with symbols included\n" -" in filename invoked by -R or --just-symbols" +" in filename invoked by -R or --just-symbols" msgstr "" "Não permite vários definições com sÃmbolos\n" " incluÃdos no nome de arquivo invocador por\n" diff --git a/ld/po/ru.po b/ld/po/ru.po index 9cb4b08..efedb0c 100644 --- a/ld/po/ru.po +++ b/ld/po/ru.po @@ -1452,7 +1452,7 @@ msgstr "РаÑкрывать имена Ñимволов [иÑпользую СР#: lexsup.c:319 msgid "" "Do not allow multiple definitions with symbols included\n" -" in filename invoked by -R or --just-symbols" +" in filename invoked by -R or --just-symbols" msgstr "" "Ðе разрешать включение многократного Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñимволов\n" " в файл, указанный параметром -R или --just-symbols" diff --git a/ld/po/sr.po b/ld/po/sr.po index 0012db3..759c8b9 100644 --- a/ld/po/sr.po +++ b/ld/po/sr.po @@ -14,10 +14,10 @@ # msgid "" msgstr "" -"Project-Id-Version: ld-2.43.90\n" +"Project-Id-Version: ld-2.44.90\n" "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n" -"POT-Creation-Date: 2025-01-19 12:28+0000\n" -"PO-Revision-Date: 2025-01-19 18:09+0100\n" +"POT-Creation-Date: 2025-07-13 08:53+0100\n" +"PO-Revision-Date: 2025-09-09 06:12+0200\n" "Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" @@ -69,17 +69,17 @@ msgstr "Ðема Ñимбола\n" msgid "%P: symbol `%pT' missing from main hash table\n" msgstr "%P: Ñимбол „%pT“ недоÑтаје у главној хеш табели\n" -#: ldcref.c:517 ldcref.c:628 ldmain.c:1357 ldmisc.c:327 pe-dll.c:780 -#: pe-dll.c:1350 pe-dll.c:1471 pe-dll.c:1573 eaarch64pe.c:1580 earm64pe.c:1580 +#: ldcref.c:517 ldcref.c:628 ldmain.c:1733 ldmisc.c:320 pe-dll.c:783 +#: pe-dll.c:1353 pe-dll.c:1474 pe-dll.c:1576 eaarch64pe.c:1580 earm64pe.c:1580 #: earm_wince_pe.c:1583 earm_wince_pe.c:1770 earmpe.c:1583 earmpe.c:1770 #: ei386pe.c:1583 ei386pe.c:1770 ei386pe_posix.c:1583 ei386pe_posix.c:1770 #: ei386pep.c:1580 emcorepe.c:1583 emcorepe.c:1770 eshpe.c:1583 eshpe.c:1770 -msgid "%F%P: %pB: could not read symbols: %E\n" -msgstr "%F%P: %pB: не могу да читам Ñимболе: %E\n" +msgid "%P: %pB: could not read symbols: %E\n" +msgstr "%P: %pB: не могу да читам Ñимболе: %E\n" -#: ldcref.c:690 ldcref.c:697 ldmain.c:1419 ldmain.c:1426 -msgid "%F%P: %pB: could not read relocs: %E\n" -msgstr "%F%P: %pB: не могу да читам премештања: %E\n" +#: ldcref.c:690 ldcref.c:697 ldmain.c:1795 ldmain.c:1802 +msgid "%P: %pB: could not read relocs: %E\n" +msgstr "%P: %pB: не могу да читам премештања: %E\n" #. We found a reloc for the symbol. The symbol is defined #. in OUTSECNAME. This reloc is from a section which is @@ -120,14 +120,14 @@ msgstr "" "\n" #: ldelf.c:98 -msgid "%F%P: common page size (0x%v) > maximum page size (0x%v)\n" -msgstr "%F%P: уобичајена величина Ñтранице (0x%v) > највећа величина Ñтранице (0x%v)\n" +msgid "%P: common page size (0x%v) > maximum page size (0x%v)\n" +msgstr "%P: уобичајена величина Ñтранице (0x%v) > највећа величина Ñтранице (0x%v)\n" #: ldelf.c:124 -msgid "%F%P: %pB: --just-symbols may not be used on DSO\n" -msgstr "%F%P: %pB: „--just-symbols“ Ñе не могу нкориÑтити на „DSO“\n" +msgid "%P: %pB: --just-symbols may not be used on DSO\n" +msgstr "%P: %pB: „--just-symbols“ Ñе не могу кориÑтити на „DSO“\n" -#: ldelf.c:226 +#: ldelf.c:226 ldelf.c:372 msgid "%P: %pB: bfd_stat failed: %E\n" msgstr "%P: %pB: „bfd_stat“ није уÑпело: %E\n" @@ -141,21 +141,17 @@ msgid "attempt to open %s failed\n" msgstr "покушај отварања „%s“ није уÑпео\n" #: ldelf.c:324 -msgid "%F%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n" -msgstr "%F%P: %pB: „bfd_elf_get_bfd_needed_list“ није уÑпело: %E\n" - -#: ldelf.c:372 -msgid "%F%P: %pB: bfd_stat failed: %E\n" -msgstr "%F%P: %pB: „bfd_stat“ није уÑпело: %E\n" +msgid "%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n" +msgstr "%P: %pB: „bfd_elf_get_bfd_needed_list“ није уÑпело: %E\n" #: ldelf.c:378 #, c-format msgid "found %s at %s\n" msgstr "нађох „%s“ на „%s“\n" -#: ldelf.c:411 ldlang.c:3177 ldlang.c:3191 ldlang.c:10994 -msgid "%F%P: %pB: error adding symbols: %E\n" -msgstr "%F%P: %pB: грешка додавања Ñимбола: %E\n" +#: ldelf.c:411 ldlang.c:3228 ldlang.c:3242 ldlang.c:11057 +msgid "%P: %pB: error adding symbols: %E\n" +msgstr "%P: %pB: грешка додавања Ñимбола: %E\n" #. We only issue an "unrecognised" message in verbose mode #. as the $<foo> token might be a legitimate component of @@ -175,199 +171,199 @@ msgid "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-lin msgstr "%P: упозорење: „%s“, које је потребно „%pB“-у, ниÑам нашао (покушајте да кориÑтите „-rpath“ или „-rpath-link“)\n" #: ldelf.c:1209 -msgid "%F%P: failed to add DT_NEEDED dynamic tag\n" -msgstr "%F%P: ниÑам уÑпео да додам „DT_NEEDED“ динамичку ознаку\n" +msgid "%P: failed to add DT_NEEDED dynamic tag\n" +msgstr "%P: ниÑам уÑпео да додам „DT_NEEDED“ динамичку ознаку\n" -#: ldelf.c:1261 -msgid "%F%P: %s: can't open for writing: %E\n" -msgstr "%F%P: %s: не могу да отворим за пиÑање: %E\n" +#: ldelf.c:1260 +msgid "%P: %s: can't open for writing: %E\n" +msgstr "%P: %s: не могу да отворим за пиÑање: %E\n" -#: ldelf.c:1317 -msgid "%F%P: cannot use executable file '%pB' as input to a link\n" -msgstr "%F%P: не могу да кориÑтим извршну датотеку „%pB“ као улаз за везу\n" +#: ldelf.c:1315 +msgid "%P: cannot use executable file '%pB' as input to a link\n" +msgstr "%P: не могу да кориÑтим извршну датотеку „%pB“ као улаз за везу\n" -#: ldelf.c:1371 -msgid "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n" -msgstr "%F%P: Ñажети опиÑи оквира ниÑу ÑаглаÑни Ñа „DWARF2 .eh_frame“ из „%pB“\n" +#: ldelf.c:1369 +msgid "%P: compact frame descriptions incompatible with DWARF2 .eh_frame from %pB\n" +msgstr "%P: Ñажети опиÑи оквира ниÑу ÑаглаÑни Ñа „DWARF2 .eh_frame“ из „%pB“\n" -#: ldelf.c:1407 +#: ldelf.c:1405 msgid "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n" msgstr "%P: упозорење: не могу да направим „.eh_frame_hdr“ одељак, „--eh-frame-hdr“ је занемарено\n" -#: ldelf.c:1413 -msgid "%F%P: failed to parse EH frame entries\n" -msgstr "%F%P: ниÑам уÑпео да обрадим уноÑе „EH“ оквира\n" +#: ldelf.c:1411 +msgid "%P: failed to parse EH frame entries\n" +msgstr "%P: ниÑам уÑпео да обрадим уноÑе „EH“ оквира\n" -#: ldelf.c:1455 +#: ldelf.c:1453 msgid "%P: warning: .note.gnu.build-id section discarded, --build-id ignored\n" msgstr "%P: упозорење: „.note.gnu.build-id“ одељак је одбачен, „--build-id“ је занемарено\n" -#: ldelf.c:1505 eaarch64pe.c:1354 earm64pe.c:1354 earm_wince_pe.c:1339 +#: ldelf.c:1503 eaarch64pe.c:1354 earm64pe.c:1354 earm_wince_pe.c:1339 #: earmpe.c:1339 ei386pe.c:1339 ei386pe_posix.c:1339 ei386pep.c:1354 #: emcorepe.c:1339 eshpe.c:1339 msgid "%P: warning: unrecognized --build-id style ignored\n" msgstr "%P: упозорење: непознат „--build-id“ Ñтил је занемарен\n" -#: ldelf.c:1524 +#: ldelf.c:1522 msgid "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n" msgstr "%P: упозорење: не могу да направим „.note.gnu.build-id“ одељак, „--build-id“ је занемарено\n" -#: ldelf.c:1545 +#: ldelf.c:1543 msgid "%P: warning: .note.package section discarded, --package-metadata ignored\n" msgstr "%P: упозорење: „.note.package“ одељак је одбачен, „--package-metadata“ је занемарено\n" -#: ldelf.c:1601 +#: ldelf.c:1599 msgid "%P: warning: --package-metadata is empty, ignoring\n" msgstr "%P: упозорење: „--package-metadata“ је празно, занемарујем\n" -#: ldelf.c:1611 +#: ldelf.c:1609 msgid "%P: warning: --package-metadata=%s does not contain valid JSON, ignoring: %s\n" msgstr "%P: упозорење: „--package-metadata=%s“ не Ñадржи иÑправан ЈСОÐ, занемарујем: %s\n" -#: ldelf.c:1640 +#: ldelf.c:1638 msgid "%P: warning: cannot create .note.package section, --package-metadata ignored\n" msgstr "%P: упозорење: не могу да направим „.note.package“ одељак, „--package-metadata“ је занемарено\n" -#: ldelf.c:1672 eaix5ppc.c:1546 eaix5rs6.c:1546 eaixppc.c:1546 eaixrs6.c:1546 -#: eppcmacos.c:1546 -msgid "%F%P: failed to record assignment to %s: %E\n" -msgstr "%F%P: ниÑам уÑпео да прибележим доделу за „%s“: %E\n" +#: ldelf.c:1670 eaix5ppc.c:1545 eaix5rs6.c:1545 eaixppc.c:1545 eaixrs6.c:1545 +#: eppcmacos.c:1545 +msgid "%P: failed to record assignment to %s: %E\n" +msgstr "%P: ниÑам уÑпео да прибележим доделу за „%s“: %E\n" -#: ldelf.c:1850 ldelf.c:1915 eaix5ppc.c:816 eaix5rs6.c:816 eaixppc.c:816 +#: ldelf.c:1845 ldelf.c:1911 eaix5ppc.c:816 eaix5rs6.c:816 eaixppc.c:816 #: eaixrs6.c:816 eelf64_ia64_vms.c:209 eppcmacos.c:816 -msgid "%F%P: failed to set dynamic section sizes: %E\n" -msgstr "%F%P: ниÑам уÑпео да поÑтавим величине динамичког одељка: %E\n" +msgid "%P: failed to set dynamic section sizes: %E\n" +msgstr "%P: ниÑам уÑпео да поÑтавим величине динамичког одељка: %E\n" -#: ldelf.c:1887 -msgid "%F%P: %pB: can't read contents of section .gnu.warning: %E\n" -msgstr "%F%P: %pB: не могу да читам Ñадржаје одељка „.gnu.warning“: %E\n" +#: ldelf.c:1883 +msgid "%P: %pB: can't read contents of section %pA: %E\n" +msgstr "%P: %pB: не могу да прочитам Ñадржај одељка „%pA“\n" #: ldelfgen.c:285 -msgid "%F%P: %pA has both ordered and unordered sections\n" -msgstr "%F%P: „%pA“ има и Ñређене и неÑређене одељке\n" +msgid "%P: %pA has both ordered and unordered sections\n" +msgstr "%P: „%pA“ има и Ñређене и неÑређене одељке\n" #: ldelfgen.c:310 eelf32loongarch.c:106 eelf64loongarch.c:106 -msgid "%F%P: map sections to segments failed: %E\n" -msgstr "%F%P: мапирање одељака у подеоке није уÑпело: %E\n" +msgid "%P: map sections to segments failed: %E\n" +msgstr "%P: мапирање одељака у подеоке није уÑпело: %E\n" #: ldelfgen.c:330 -msgid "%F%P: looping in map_segments\n" -msgstr "%F%P: кружење у подеоцима_мапе\n" +msgid "%P: looping in map_segments\n" +msgstr "%P: кружење у подеоцима_мапе\n" -#: ldelfgen.c:342 -msgid "%F%P: failed to strip zero-sized dynamic sections\n" -msgstr "%F%P: ниÑам уÑпео да покидам динамичке одељке нулте величине\n" +#: ldelfgen.c:341 +msgid "%P: failed to strip zero-sized dynamic sections\n" +msgstr "%P: ниÑам уÑпео да покидам динамичке одељке нулте величине\n" -#: ldelfgen.c:420 -msgid "%F%P: warning: CTF strtab association failed; strings will not be shared: %s\n" -msgstr "%F%P: упозорење: придруживање „CTF“ таб_ниÑке није уÑпело; ниÑке неће бити дељене: %s\n" +#: ldelfgen.c:419 +msgid "%P: warning: CTF strtab association failed; strings will not be shared: %s\n" +msgstr "%P: упозорење: придруживање „CTF“ таб_ниÑке није уÑпело; ниÑке неће бити дељене: %s\n" -#: ldelfgen.c:447 -msgid "%F%P: warning: CTF symbol addition failed; CTF will not be tied to symbols: %s\n" -msgstr "%F%P: упозорење: придодавање „CTF“ Ñимбола није уÑпело; „CTF“ неће бити везано за Ñимболе: %s\n" +#: ldelfgen.c:446 +msgid "%P: warning: CTF symbol addition failed; CTF will not be tied to symbols: %s\n" +msgstr "%P: упозорење: придодавање „CTF“ Ñимбола није уÑпело; „CTF“ неће бити везано за Ñимболе: %s\n" -#: ldelfgen.c:457 -msgid "%F%P: warning: CTF symbol shuffling failed; CTF will not be tied to symbols: %s\n" -msgstr "%F%P: упозорење: мешање „CTF“ Ñимбола није уÑпело; „CTF“ неће бити везано за Ñимболе: %s\n" +#: ldelfgen.c:456 +msgid "%P: warning: CTF symbol shuffling failed; CTF will not be tied to symbols: %s\n" +msgstr "%P: упозорење: мешање „CTF“ Ñимбола није уÑпело; „CTF“ неће бити везано за Ñимболе: %s\n" -#: ldemul.c:323 +#: ldemul.c:331 #, c-format msgid "%pS SYSLIB ignored\n" msgstr "„%pS SYSLIB“ је занемарено\n" -#: ldemul.c:329 +#: ldemul.c:337 #, c-format msgid "%pS HLL ignored\n" msgstr "„%pS HLL“ је занемарено\n" -#: ldemul.c:349 +#: ldemul.c:357 msgid "%P: unrecognised emulation mode: %s\n" msgstr "%P: непзнат режим емулације: %s\n" -#: ldemul.c:350 +#: ldemul.c:358 msgid "Supported emulations: " msgstr "Подржане емулације: " -#: ldemul.c:392 +#: ldemul.c:400 #, c-format msgid " no emulation specific options.\n" msgstr " нема поÑебних опција емулације.\n" #: ldexp.c:285 -msgid "%F%P: bfd_hash_allocate failed creating symbol %s\n" -msgstr "%F%P: „bfd_hash_allocate“ није уÑпело Ñа Ñтварањем Ñимбола „%s“\n" +msgid "%P: bfd_hash_allocate failed creating symbol %s\n" +msgstr "%P: „bfd_hash_allocate“ није уÑпело Ñа Ñтварањем Ñимбола „%s“\n" #: ldexp.c:316 -msgid "%F%P: bfd_hash_lookup failed creating symbol %s\n" -msgstr "%F%P: „bfd_hash_lookup“ није уÑпело Ñа Ñтварањем Ñимбола „%s“\n" +msgid "%P: bfd_hash_lookup failed creating symbol %s\n" +msgstr "%P: „bfd_hash_lookup“ није уÑпело Ñа Ñтварањем Ñимбола „%s“\n" #: ldexp.c:562 msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n" msgstr "%P: упозорење: адреÑа од „%s“ није множилац највеће величине Ñтранице\n" #: ldexp.c:641 -msgid "%F%P:%pS %% by zero\n" -msgstr "%F%P:%pS %% нулом\n" +msgid "%P:%pS %% by zero\n" +msgstr "%P:%pS %% нулом\n" #: ldexp.c:650 -msgid "%F%P:%pS / by zero\n" -msgstr "%F%P:%pS / нулом\n" +msgid "%P:%pS / by zero\n" +msgstr "%P:%pS / нулом\n" -#: ldexp.c:764 ldlang.c:4035 ldmain.c:1324 eaarch64pe.c:1168 eaarch64pe.c:1784 +#: ldexp.c:764 ldlang.c:4112 ldmain.c:1700 eaarch64pe.c:1168 eaarch64pe.c:1784 #: earm64pe.c:1168 earm64pe.c:1784 earm_wince_pe.c:1154 earm_wince_pe.c:1881 #: earmpe.c:1154 earmpe.c:1881 ei386pe.c:1154 ei386pe.c:1881 #: ei386pe_posix.c:1154 ei386pe_posix.c:1881 ei386pep.c:1168 ei386pep.c:1784 #: emcorepe.c:1154 emcorepe.c:1881 eshpe.c:1154 eshpe.c:1881 -msgid "%F%P: bfd_link_hash_lookup failed: %E\n" -msgstr "%F%P: „bfd_link_hash_lookup“ није уÑпело: %E\n" +msgid "%P: bfd_link_hash_lookup failed: %E\n" +msgstr "%P: „bfd_link_hash_lookup“ није уÑпело: %E\n" #: ldexp.c:777 msgid "%X%P:%pS: unresolvable symbol `%s' referenced in expression\n" msgstr "%X%P:%pS: нерешиви Ñимбол „%s“ има упуту у изразу\n" #: ldexp.c:792 -msgid "%F%P:%pS: undefined symbol `%s' referenced in expression\n" -msgstr "%F%P:%pS: недефиниÑани Ñимбол „%s“ има упуту у изразу\n" +msgid "%P:%pS: undefined symbol `%s' referenced in expression\n" +msgstr "%P:%pS: недефиниÑани Ñимбол „%s“ има упуту у изразу\n" #: ldexp.c:830 ldexp.c:848 ldexp.c:876 -msgid "%F%P:%pS: undefined section `%s' referenced in expression\n" -msgstr "%F%P:%pS: недефиниÑани одељак „%s“ има упуту у изразу\n" +msgid "%P:%pS: undefined section `%s' referenced in expression\n" +msgstr "%P:%pS: недефиниÑани одељак „%s“ има упуту у изразу\n" #: ldexp.c:915 ldexp.c:929 -msgid "%F%P:%pS: undefined MEMORY region `%s' referenced in expression\n" -msgstr "%F%P:%pS: недефиниÑана облаÑÑ‚ МЕМОРИЈЕ „%s“ има упуту у изразу\n" +msgid "%P:%pS: undefined MEMORY region `%s' referenced in expression\n" +msgstr "%P:%pS: недефиниÑана облаÑÑ‚ МЕМОРИЈЕ „%s“ има упуту у изразу\n" #: ldexp.c:941 -msgid "%F%P:%pS: unknown constant `%s' referenced in expression\n" -msgstr "%F%P:%pS непозната конÑтанта „%s“ има упуту у изразу\n" +msgid "%P:%pS: unknown constant `%s' referenced in expression\n" +msgstr "%P:%pS непозната конÑтанта „%s“ има упуту у изразу\n" #: ldexp.c:1089 -msgid "%F%P:%pS can not PROVIDE assignment to location counter\n" -msgstr "„%F%P:%pS“ не може да ОБЕЗБЕДИ додељивање бројачу меÑта\n" +msgid "%P:%pS can not PROVIDE assignment to location counter\n" +msgstr "„%P:%pS“ не може да ОБЕЗБЕДИ додељивање бројачу меÑта\n" #: ldexp.c:1122 -msgid "%F%P:%pS invalid assignment to location counter\n" -msgstr "„%F%P:%pS“ неиÑправно додељивање бројачу меÑта\n" +msgid "%P:%pS invalid assignment to location counter\n" +msgstr "„%P:%pS“ неиÑправно додељивање бројачу меÑта\n" #: ldexp.c:1126 -msgid "%F%P:%pS assignment to location counter invalid outside of SECTIONS\n" -msgstr "„%F%P:%pS“ додељивање бројачу меÑта неиÑправно изван ОДЕЉÐКÐ\n" +msgid "%P:%pS assignment to location counter invalid outside of SECTIONS\n" +msgstr "„%P:%pS“ додељивање бројачу меÑта неиÑправно изван ОДЕЉÐКÐ\n" #: ldexp.c:1145 -msgid "%F%P:%pS cannot move location counter backwards (from %V to %V)\n" -msgstr "„%F%P:%pS“ не може да помери бројач меÑта уназад (од %V до %V)\n" +msgid "%P:%pS cannot move location counter backwards (from %V to %V)\n" +msgstr "„%P:%pS“ не може да помери бројач меÑта уназад (од %V до %V)\n" #: ldexp.c:1205 -msgid "%F%P:%s: hash creation failed\n" -msgstr "%F%P:%s: Ñтварање хеша није уÑпело\n" +msgid "%P:%s: hash creation failed\n" +msgstr "%P:%s: Ñтварање хеша није уÑпело\n" #: ldexp.c:1581 ldexp.c:1624 ldexp.c:1684 -msgid "%F%P:%pS: nonconstant expression for %s\n" -msgstr "%F%P:%pS: неконÑтантни израз за „%s“\n" +msgid "%P:%pS: nonconstant expression for %s\n" +msgstr "%P:%pS: неконÑтантни израз за „%s“\n" -#: ldexp.c:1711 ldlang.c:1355 ldlang.c:3510 ldlang.c:8236 -msgid "%F%P: can not create hash table: %E\n" -msgstr "%F%P: не могу да направим хеш табелу: %E\n" +#: ldexp.c:1711 ldlang.c:1399 ldlang.c:3561 ldlang.c:8309 +msgid "%P: can not create hash table: %E\n" +msgstr "%P: не могу да направим хеш табелу: %E\n" #: ldfile.c:239 #, c-format @@ -414,98 +410,98 @@ msgid "attempt to open %s succeeded\n" msgstr "покушај отварања „%s“ је уÑпео\n" #: ldfile.c:364 -msgid "%F%P: invalid BFD target `%s'\n" -msgstr "%F%P: неиÑправна БФД мета „%s“\n" +msgid "%P: invalid BFD target `%s'\n" +msgstr "%P: неиÑправна БФД мета „%s“\n" -#: ldfile.c:494 ldfile.c:524 +#: ldfile.c:481 ldfile.c:511 msgid "%P: skipping incompatible %s when searching for %s\n" msgstr "%P: преÑкачем неÑаглаÑно „%s“ када тражим „%s“\n" -#: ldfile.c:507 -msgid "%F%P: attempted static link of dynamic object `%s'\n" -msgstr "%F%P: покушах Ñтатичку везу динамичког објекта „%s“\n" +#: ldfile.c:494 +msgid "%P: attempted static link of dynamic object `%s'\n" +msgstr "%P: покушах Ñтатичку везу динамичког објекта „%s“\n" -#: ldfile.c:636 +#: ldfile.c:623 msgid "%P: cannot find %s (%s): %E\n" msgstr "%P: не могу да нађем „%s“ (%s): %E\n" #. We ignore the return status of the script #. and always print the error message. -#: ldfile.c:639 ldfile.c:723 ldfile.c:727 +#: ldfile.c:626 ldfile.c:710 ldfile.c:714 msgid "%P: cannot find %s: %E\n" msgstr "%P: не могу да нађем „%s“: %E\n" -#: ldfile.c:691 +#: ldfile.c:678 msgid "%P: cannot find %s inside %s\n" msgstr "%P: не могу да нађем „%s“ унутар „%s“\n" -#: ldfile.c:706 ldmain.c:1504 +#: ldfile.c:693 ldmain.c:1880 msgid "%P: About to run error handling script '%s' with arguments: '%s' '%s'\n" msgstr "%P: Покренућу Ñкрипту рада Ñа грешком „%s“ Ñа аргументима: „%s“ „%s“\n" -#: ldfile.c:710 ldmain.c:1508 +#: ldfile.c:697 ldmain.c:1884 msgid "error handling script" msgstr "грешка рада Ñа Ñкриптом" -#: ldfile.c:716 ldmain.c:1514 +#: ldfile.c:703 ldmain.c:1890 msgid "%P: Failed to run error handling script '%s', reason: " msgstr "%P: ÐиÑам уÑпео да покренем Ñкрипту рада Ñа грешком „%s“, разлог: " -#: ldfile.c:732 +#: ldfile.c:719 msgid "%P: have you installed the static version of the %s library ?\n" msgstr "%P: Да ли Ñте инÑталирали Ñтатичко издање библиотеке „%s“?\n" -#: ldfile.c:743 +#: ldfile.c:730 msgid "%P: note to link with %s use -l:%s or rename it to lib%s\n" msgstr "%P: напомена ка вези Ñа „%s“ кориÑти „-l:%s“ или га преименује у „lib%s“\n" -#: ldfile.c:775 +#: ldfile.c:762 #, c-format msgid "cannot find script file %s\n" msgstr "не могу да нађем датотеку Ñкрипте „%s“\n" -#: ldfile.c:777 +#: ldfile.c:764 #, c-format msgid "opened script file %s\n" msgstr "отворих датотеку Ñкрипте „%s“\n" -#: ldfile.c:913 -msgid "%F%P: error: linker script file '%s' appears multiple times\n" -msgstr "%F%P: грешка: датотека Ñкрипте повезивача „%s“ Ñе јавља више пута\n" +#: ldfile.c:900 +msgid "%P: error: linker script file '%s' appears multiple times\n" +msgstr "%P: грешка: датотека Ñкрипте повезивача „%s“ Ñе јавља више пута\n" -#: ldfile.c:932 -msgid "%F%P: cannot open linker script file %s: %E\n" -msgstr "%F%P: не могу да отворим датотеку Ñкрипте повезивача „%s“: %E\n" +#: ldfile.c:919 +msgid "%P: cannot open linker script file %s: %E\n" +msgstr "%P: не могу да отворим датотеку Ñкрипте повезивача „%s“: %E\n" -#: ldfile.c:1026 -msgid "%F%P: cannot represent machine `%s'\n" -msgstr "%F%P: не могу да предÑтавим машину „%s“\n" +#: ldfile.c:1013 +msgid "%P: cannot represent machine `%s'\n" +msgstr "%P: не могу да предÑтавим машину „%s“\n" -#: ldlang.c:1446 +#: ldlang.c:1490 msgid "%P:%pS: warning: redeclaration of memory region `%s'\n" msgstr "%P:%pS: упозорење: поновно деклариÑање облаÑти меморије „%s“\n" -#: ldlang.c:1452 +#: ldlang.c:1496 msgid "%P:%pS: warning: memory region `%s' not declared\n" msgstr "%P:%pS: упозорење: облаÑÑ‚ меморије „%s“ није деклариÑана\n" -#: ldlang.c:1488 -msgid "%F%P:%pS: error: alias for default memory region\n" -msgstr "%F%P:%pS: грешка: Ð°Ð»Ð¸Ñ˜Ð°Ñ Ð·Ð° оÑновну облаÑÑ‚ меморије\n" +#: ldlang.c:1532 +msgid "%P:%pS: error: alias for default memory region\n" +msgstr "%P:%pS: грешка: Ð°Ð»Ð¸Ñ˜Ð°Ñ Ð·Ð° оÑновну облаÑÑ‚ меморије\n" -#: ldlang.c:1499 -msgid "%F%P:%pS: error: redefinition of memory region alias `%s'\n" -msgstr "%F%P:%pS: грешка: поновно дефиниÑање алијаÑа облаÑти меморије „%s“\n" +#: ldlang.c:1543 +msgid "%P:%pS: error: redefinition of memory region alias `%s'\n" +msgstr "%P:%pS: грешка: поновно дефиниÑање алијаÑа облаÑти меморије „%s“\n" -#: ldlang.c:1506 -msgid "%F%P:%pS: error: memory region `%s' for alias `%s' does not exist\n" -msgstr "%F%P:%pS: грешка: облаÑÑ‚ меморије „%s“ за алијаÑа „%s“ не поÑтоји\n" +#: ldlang.c:1550 +msgid "%P:%pS: error: memory region `%s' for alias `%s' does not exist\n" +msgstr "%P:%pS: грешка: облаÑÑ‚ меморије „%s“ за алијаÑа „%s“ не поÑтоји\n" -#: ldlang.c:1567 ldlang.c:1610 -msgid "%F%P: failed creating section `%s': %E\n" -msgstr "%F%P: ниÑам уÑпео да направим одељак „%s“: %E\n" +#: ldlang.c:1611 ldlang.c:1654 +msgid "%P: failed creating section `%s': %E\n" +msgstr "%P: ниÑам уÑпео да направим одељак „%s“: %E\n" -#: ldlang.c:2328 +#: ldlang.c:2372 msgid "" "\n" "As-needed library included to satisfy reference by file (symbol)\n" @@ -515,7 +511,7 @@ msgstr "" "Библиотека као-што-је-потребно је укључена да би задовољила упуту датотеком (Ñимболом)\n" "\n" -#: ldlang.c:2393 +#: ldlang.c:2437 msgid "" "\n" "Discarded input sections\n" @@ -525,7 +521,7 @@ msgstr "" "Одбачени одељци улаза\n" "\n" -#: ldlang.c:2401 +#: ldlang.c:2445 msgid "" "\n" "There are no discarded input sections\n" @@ -533,7 +529,7 @@ msgstr "" "\n" "Ðема одбачених одељака улаза\n" -#: ldlang.c:2403 +#: ldlang.c:2447 msgid "" "\n" "Memory Configuration\n" @@ -543,23 +539,23 @@ msgstr "" "Подешавање меморије\n" "\n" -#: ldlang.c:2405 +#: ldlang.c:2449 msgid "Name" msgstr "Ðазив" -#: ldlang.c:2405 +#: ldlang.c:2449 msgid "Origin" msgstr "Порекло" -#: ldlang.c:2405 +#: ldlang.c:2449 msgid "Length" msgstr "Дужина" -#: ldlang.c:2405 +#: ldlang.c:2449 msgid "Attributes" msgstr "Ðтрибути" -#: ldlang.c:2429 +#: ldlang.c:2473 msgid "" "\n" "Linker script and memory map\n" @@ -569,250 +565,250 @@ msgstr "" "Скрипта повезивача и мапа меморије\n" "\n" -#: ldlang.c:2482 -msgid "%F%P: illegal use of `%s' section\n" -msgstr "%F%P: неиÑправна употреба одељка „%s“\n" +#: ldlang.c:2533 +msgid "%P: illegal use of `%s' section\n" +msgstr "%P: неиÑправна употреба одељка „%s“\n" -#: ldlang.c:2491 -msgid "%F%P: output format %s cannot represent section called %s: %E\n" -msgstr "%F%P: формат излаза „%s“ не може да предÑтавља одељак под називом „%s: %E“\n" +#: ldlang.c:2542 +msgid "%P: output format %s cannot represent section called %s: %E\n" +msgstr "%P: формат излаза „%s“ не може да предÑтавља одељак под називом „%s: %E“\n" -#: ldlang.c:2672 +#: ldlang.c:2723 msgid "%P:%pS: warning: --enable-non-contiguous-regions makes section `%pA' from `%pB' match /DISCARD/ clause.\n" msgstr "%P:%pS: упозорење: „--enable-non-contiguous-regions“ чини да одељак „%pA“ из „%pB“ одговара клаузули „/DISCARD/“.\n" -#: ldlang.c:2696 +#: ldlang.c:2747 msgid "%P:%pS: warning: --enable-non-contiguous-regions may change behaviour for section `%pA' from `%pB' (assigned to %pA, but additional match: %pA)\n" msgstr "%P:%pS: упозорење: „--enable-non-contiguous-regions“ може променити понашање за одељак „%pA“ из „%pB“ (додељено за „%pA“, али додатно Ñе поклапа Ñа: %pA)\n" -#: ldlang.c:3074 +#: ldlang.c:3125 msgid "%P: %pB: file not recognized: %E; matching formats:" msgstr "%P: %pB: датотека није препозната: %E; одговарајући запиÑи:" -#: ldlang.c:3083 -msgid "%F%P: %pB: file not recognized: %E\n" -msgstr "%F%P: %pB: датотека није препозната: %E\n" +#: ldlang.c:3134 +msgid "%P: %pB: file not recognized: %E\n" +msgstr "%P: %pB: датотека није препозната: %E\n" -#: ldlang.c:3156 -msgid "%F%P: %pB: member %pB in archive is not an object\n" -msgstr "%F%P: %pB: члан „%pB“ у архиви није објекат\n" +#: ldlang.c:3207 +msgid "%P: %pB: member %pB in archive is not an object\n" +msgstr "%P: %pB: члан „%pB“ у архиви није објекат\n" -#: ldlang.c:3432 -msgid "%F%P: input file '%s' is the same as output file\n" -msgstr "%F%P: улазна датотека „%s“ је иÑта као излазна датотека\n" +#: ldlang.c:3483 +msgid "%P: input file '%s' is the same as output file\n" +msgstr "%P: улазна датотека „%s“ је иÑта као излазна датотека\n" -#: ldlang.c:3480 +#: ldlang.c:3531 msgid "%P: warning: could not find any targets that match endianness requirement\n" msgstr "%P: упозорење: не могу да нађем ниједну мету која одговар захтевима крајњоÑти\n" -#: ldlang.c:3494 -msgid "%F%P: target %s not found\n" -msgstr "%F%P: ниÑам нашао мету „%s“\n" +#: ldlang.c:3545 +msgid "%P: target %s not found\n" +msgstr "%P: ниÑам нашао мету „%s“\n" -#: ldlang.c:3496 -msgid "%F%P: cannot open output file %s: %E\n" -msgstr "%F%P: не могу да отворим излазну датотеку „%s“: %E\n" +#: ldlang.c:3547 +msgid "%P: cannot open output file %s: %E\n" +msgstr "%P: не могу да отворим излазну датотеку „%s“: %E\n" -#: ldlang.c:3502 -msgid "%F%P: %s: can not make object file: %E\n" -msgstr "%F%P: %s: не могу да направим објектну датотеку: %E\n" +#: ldlang.c:3553 +msgid "%P: %s: can not make object file: %E\n" +msgstr "%P: %s: не могу да направим објектну датотеку: %E\n" -#: ldlang.c:3506 -msgid "%F%P: %s: can not set architecture: %E\n" -msgstr "%F%P: %s: не могу да подеÑим архитектуру: %E\n" +#: ldlang.c:3557 +msgid "%P: %s: can not set architecture: %E\n" +msgstr "%P: %s: не могу да подеÑим архитектуру: %E\n" -#: ldlang.c:3693 +#: ldlang.c:3744 msgid "%P: warning: %s contains output sections; did you forget -T?\n" msgstr "%P: упозорење: „%s“ Ñадржи излазне одељке; да ли Ñте заборавили „-T“?\n" -#: ldlang.c:3740 +#: ldlang.c:3791 #, c-format msgid "%s: %s\n" msgstr "%s: %s\n" -#: ldlang.c:3740 +#: ldlang.c:3791 msgid "CTF warning" msgstr "„CTF“ упозорење" -#: ldlang.c:3740 +#: ldlang.c:3791 msgid "CTF error" msgstr "„CTF“ грешка" -#: ldlang.c:3746 +#: ldlang.c:3797 #, c-format msgid "CTF error: cannot get CTF errors: `%s'\n" msgstr "„CTF“ грешка: не могу да добавим „CTF“ грешке: %s\n" -#: ldlang.c:3780 +#: ldlang.c:3833 msgid "%P: warning: CTF section in %pB not loaded; its types will be discarded: %s\n" msgstr "%P: упозорење: „CTF“ одељак у „%pB“ није учитан; његове врÑте биће одбачене: „%s“\n" -#: ldlang.c:3809 +#: ldlang.c:3866 msgid "%P: warning: CTF output not created: `%s'\n" msgstr "%P: упозорење: „CTF“ излаз није направљен: „%s“\n" -#: ldlang.c:3852 +#: ldlang.c:3915 msgid "%P: warning: CTF section in %pB cannot be linked: `%s'\n" msgstr "%P: упозорење: „CTF“ одељак у „%pB“ Ñе не може повезати: %s\n" -#: ldlang.c:3872 +#: ldlang.c:3935 msgid "%P: warning: CTF linking failed; output will have no CTF section: %s\n" msgstr "%P: упозорење: „CTF“ повезивање није уÑпело; излаз неће имати „CTF“ одељак: %s\n" -#: ldlang.c:3943 +#: ldlang.c:4018 msgid "%P: warning: CTF section emission failed; output will have no CTF section: %s\n" msgstr "%P: емитовање „CTF“ одељка није уÑпело; излаз неће имати „CTF“ одељак: %s\n" -#: ldlang.c:3982 +#: ldlang.c:4059 msgid "%P: warning: CTF section in %pB not linkable: %P was built without support for CTF\n" msgstr "%P: упозорење: „CTF“ одељак у „%pB“ није Ñвезив: „%P“ је уграђен без подршке за „CTF“\n" -#: ldlang.c:4120 +#: ldlang.c:4195 msgid "%X%P: required symbol `%s' not defined\n" msgstr "%X%P: затражен Ñимбол „%s“ није дефиниÑан\n" -#: ldlang.c:4321 ldlang.c:4330 -msgid "%F%P: invalid type for output section `%s'\n" -msgstr "%F%P: неиÑправна врÑта за излазни одељак „%s“\n" +#: ldlang.c:4396 ldlang.c:4405 +msgid "%P: invalid type for output section `%s'\n" +msgstr "%P: неиÑправна врÑта за излазни одељак „%s“\n" -#: ldlang.c:4466 +#: ldlang.c:4541 msgid "warning: INSERT statement in linker script is incompatible with --enable-non-contiguous-regions.\n" msgstr "warning: „INSERT“ тврдња у Ñкрипти Ñвезача није ÑаглаÑна Ñа „--enable-non-contiguous-regions“.\n" -#: ldlang.c:4479 -msgid "%F%P: %s not found for insert\n" -msgstr "%F%P: ниÑам нашао „%s“ за уметање\n" +#: ldlang.c:4554 +msgid "%P: %s not found for insert\n" +msgstr "%P: ниÑам нашао „%s“ за уметање\n" -#: ldlang.c:4751 +#: ldlang.c:4826 msgid " load address 0x%V" msgstr " адреÑа учитавања 0x%V" -#: ldlang.c:5013 +#: ldlang.c:5086 msgid "%W (size before relaxing)\n" msgstr "%W (величина пре одмора)\n" -#: ldlang.c:5142 +#: ldlang.c:5215 #, c-format msgid "Address of section %s set to " msgstr "ÐдреÑа одељка „%s“ је поÑтављена на " -#: ldlang.c:5344 +#: ldlang.c:5417 #, c-format msgid "Fail with %d\n" msgstr "ÐиÑам уÑпео Ñа Ñтањем „%d“\n" -#: ldlang.c:5561 -msgid "%F%P: Output section `%pA' not large enough for the linker-created stubs section `%pA'.\n" -msgstr "%F%P: Излазни одељак „%pA“ није довољно велик за Ñвезачем направљен одељак окрајка „%pA“.\n" +#: ldlang.c:5634 +msgid "%P: Output section `%pA' not large enough for the linker-created stubs section `%pA'.\n" +msgstr "%P: Излазни одељак „%pA“ није довољно велик за Ñвезачем направљен одељак окрајка „%pA“.\n" -#: ldlang.c:5566 -msgid "%F%P: Relaxation not supported with --enable-non-contiguous-regions (section `%pA' would overflow `%pA' after it changed size).\n" -msgstr "%F%P: Опуштање није подржано Ñа „--enable-non-contiguous-regions“ (одељак „%pA“ ће преплавити „%pA“ након његове промењене величине).\n" +#: ldlang.c:5639 +msgid "%P: Relaxation not supported with --enable-non-contiguous-regions (section `%pA' would overflow `%pA' after it changed size).\n" +msgstr "%P: Опуштање није подржано Ñа „--enable-non-contiguous-regions“ (одељак „%pA“ ће преплавити „%pA“ након његове промењене величине).\n" -#: ldlang.c:5675 +#: ldlang.c:5748 msgid "%X%P: section %s VMA wraps around address space\n" msgstr "%X%P: одељак „%s VMA“ Ñе прелама око проÑтора адреÑе\n" -#: ldlang.c:5681 +#: ldlang.c:5754 msgid "%X%P: section %s LMA wraps around address space\n" msgstr "%X%P: одељак „%s LMA“ Ñе прелама око проÑтора адреÑе\n" -#: ldlang.c:5733 +#: ldlang.c:5806 msgid "%X%P: section %s LMA [%V,%V] overlaps section %s LMA [%V,%V]\n" msgstr "%X%P: одељак „%s LMA“ [%V,%V] преклапа одељак „%s LMA“ [%V,%V]\n" -#: ldlang.c:5777 +#: ldlang.c:5850 msgid "%X%P: section %s VMA [%V,%V] overlaps section %s VMA [%V,%V]\n" msgstr "%X%P: одељак „%s VMA“ [%V,%V] преклапа одељак „%s VMA“ [%V,%V]\n" -#: ldlang.c:5800 +#: ldlang.c:5873 msgid "%X%P: region `%s' overflowed by %lu byte\n" msgid_plural "%X%P: region `%s' overflowed by %lu bytes\n" msgstr[0] "%X%P: облаÑÑ‚ „%s“ је препуњена Ñа %lu бајтом\n" msgstr[1] "%X%P: облаÑÑ‚ „%s“ је препуњена Ñа %lu бајта\n" msgstr[2] "%X%P: облаÑÑ‚ „%s“ је препуњена Ñа %lu бајтова\n" -#: ldlang.c:5825 +#: ldlang.c:5898 msgid "%X%P: address 0x%v of %pB section `%s' is not within region `%s'\n" msgstr "%X%P: адреÑа 0x%v %pB одељка „%s“ није унутар облаÑти „%s“\n" -#: ldlang.c:5836 +#: ldlang.c:5909 msgid "%X%P: %pB section `%s' will not fit in region `%s'\n" msgstr "%X%P: %pB одељак „%s“ неће Ñтати у облаÑÑ‚ „%s“\n" -#: ldlang.c:5922 -msgid "%F%P:%pS: non constant or forward reference address expression for section %s\n" -msgstr "%F%P:%pS: не конÑтанта или Ñледећи израз адреÑе упуте за одељак „%s“\n" +#: ldlang.c:5995 +msgid "%P:%pS: non constant or forward reference address expression for section %s\n" +msgstr "%P:%pS: не конÑтанта или Ñледећи израз адреÑе упуте за одељак „%s“\n" -#: ldlang.c:5947 +#: ldlang.c:6020 msgid "%X%P: internal error on COFF shared library section %s\n" msgstr "%X%P: унутрашња грешка на „COFF“ дељеном одељку библиотеке „%s“\n" -#: ldlang.c:6005 -msgid "%F%P: error: no memory region specified for loadable section `%s'\n" -msgstr "%F%P: грешка: није наведена облаÑÑ‚ меморије за учитљив одељак „%s“\n" +#: ldlang.c:6078 +msgid "%P: error: no memory region specified for loadable section `%s'\n" +msgstr "%P: грешка: није наведена облаÑÑ‚ меморије за учитљив одељак „%s“\n" -#: ldlang.c:6009 +#: ldlang.c:6082 msgid "%P: warning: no memory region specified for loadable section `%s'\n" msgstr "%P: упозорење: није наведена облаÑÑ‚ меморије за учитљив одељак „%s“\n" -#: ldlang.c:6043 +#: ldlang.c:6116 msgid "%P: warning: start of section %s changed by %ld\n" msgstr "%P: упозорење: почетак одељка „%s“ је измењен за %lu\n" -#: ldlang.c:6136 +#: ldlang.c:6209 msgid "%P: warning: dot moved backwards before `%s'\n" msgstr "%P: упозорење: тачка је померена уназад пре „%s“\n" -#: ldlang.c:6312 -msgid "%F%P: can't relax section: %E\n" -msgstr "%F%P: не могу да одморим одељак: %E\n" +#: ldlang.c:6385 +msgid "%P: can't relax section: %E\n" +msgstr "%P: не могу да одморим одељак: %E\n" -#: ldlang.c:6721 -msgid "%F%P: invalid data statement\n" -msgstr "%F%P: неиÑправна изјава података\n" +#: ldlang.c:6794 +msgid "%P: invalid data statement\n" +msgstr "%P: неиÑправна изјава података\n" -#: ldlang.c:6754 -msgid "%F%P: invalid reloc statement\n" -msgstr "%F%P: неиÑправна изјава премештања\n" +#: ldlang.c:6827 +msgid "%P: invalid reloc statement\n" +msgstr "%P: неиÑправна изјава премештања\n" -#: ldlang.c:7172 -msgid "%F%P: --gc-sections requires a defined symbol root specified by -e or -u\n" -msgstr "%F%P: „--gc-sections“ захтева дефиниÑани корен Ñимбола одређеног Ñа „-e“ или „-u“\n" +#: ldlang.c:7244 +msgid "%P: --gc-sections requires a defined symbol root specified by -e or -u\n" +msgstr "%P: „--gc-sections“ захтева дефиниÑани корен Ñимбола одређеног Ñа „-e“ или „-u“\n" -#: ldlang.c:7197 -msgid "%F%P: %s: can't set start address\n" -msgstr "%F%P: %s: не могу да подеÑим почетну адреÑу\n" +#: ldlang.c:7271 +msgid "%P: %s: can't set start address\n" +msgstr "%P: %s: не могу да подеÑим почетну адреÑу\n" -#: ldlang.c:7210 ldlang.c:7229 -msgid "%F%P: can't set start address\n" -msgstr "%F%P: не могу да подеÑим почетну адреÑу\n" +#: ldlang.c:7284 ldlang.c:7303 +msgid "%P: can't set start address\n" +msgstr "%P: не могу да подеÑим почетну адреÑу\n" -#: ldlang.c:7223 +#: ldlang.c:7297 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" msgstr "%P: упозорење: не могу да нађем улазни Ñимбол „%s“; поÑтављам на оÑновно „%V“\n" -#: ldlang.c:7234 ldlang.c:7242 +#: ldlang.c:7308 ldlang.c:7316 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" msgstr "%P: упозорење: не могу да нађем улазни Ñимбол „%s“; не подешавам почетну адреÑу\n" -#: ldlang.c:7298 -msgid "%F%P: relocatable linking with relocations from format %s (%pB) to format %s (%pB) is not supported\n" -msgstr "%F%P: премеÑтиво повезивање Ñа премештањима из формата „%s“ (%pB) у формат „%s“ (%pB) није подржано\n" +#: ldlang.c:7372 +msgid "%P: relocatable linking with relocations from format %s (%pB) to format %s (%pB) is not supported\n" +msgstr "%P: премеÑтиво повезивање Ñа премештањима из формата „%s“ (%pB) у формат „%s“ (%pB) није подржано\n" -#: ldlang.c:7308 +#: ldlang.c:7381 msgid "%X%P: %s architecture of input file `%pB' is incompatible with %s output\n" msgstr "%X%P: „%s“ архитектура улазне датотеке „%pB“ није ÑаглаÑна Ñа излазом „%s“\n" -#: ldlang.c:7332 +#: ldlang.c:7405 msgid "%X%P: failed to merge target specific data of file %pB\n" msgstr "%X%P: ниÑма уÑпео да Ñпојим мети Ñпецифичне податке датотеке „%pB“\n" -#: ldlang.c:7403 -msgid "%F%P: could not define common symbol `%pT': %E\n" -msgstr "%F%P: не могу да дефинишем општи Ñимбол „%pT“: %E\n" +#: ldlang.c:7476 +msgid "%P: could not define common symbol `%pT': %E\n" +msgstr "%P: не могу да дефинишем општи Ñимбол „%pT“: %E\n" -#: ldlang.c:7415 +#: ldlang.c:7488 msgid "" "\n" "Allocating common symbols\n" @@ -820,7 +816,7 @@ msgstr "" "\n" "Додељујем опште Ñимболе\n" -#: ldlang.c:7416 +#: ldlang.c:7489 msgid "" "Common symbol size file\n" "\n" @@ -828,36 +824,36 @@ msgstr "" "Општи Ñимбол величина датотека\n" "\n" -#: ldlang.c:7473 +#: ldlang.c:7546 msgid "%X%P: error: unplaced orphan section `%pA' from `%pB'\n" msgstr "%X%P: грешка: није Ñтављен напуштен одељак „%pA“ из „%pB“\n" -#: ldlang.c:7491 +#: ldlang.c:7564 msgid "%P: warning: orphan section `%pA' from `%pB' being placed in section `%s'\n" msgstr "%P: упозорење: напуштен одељак „%pA“ из „%pB“ је Ñтављен у одељак „%s“\n" -#: ldlang.c:7581 -msgid "%F%P: invalid character %c (%d) in flags\n" -msgstr "%F%P: неиÑправан знак „%c“ (%d) у заÑтавицама\n" +#: ldlang.c:7654 +msgid "%P: invalid character %c (%d) in flags\n" +msgstr "%P: неиÑправан знак „%c“ (%d) у заÑтавицама\n" #. && in_section_ordering -#: ldlang.c:7675 -msgid "%F%P:%pS: error: output section '%s' must already exist\n" -msgstr "%F%P:%pS: грешка: облаÑÑ‚ меморије „%s“ мора већ да поÑтоји\n" +#: ldlang.c:7748 +msgid "%P:%pS: error: output section '%s' must already exist\n" +msgstr "%P:%pS: грешка: облаÑÑ‚ меморије „%s“ мора већ да поÑтоји\n" -#: ldlang.c:7699 -msgid "%F%P:%pS: error: align with input and explicit align specified\n" -msgstr "%F%P:%pS: грешка: поравнање Ñа улазом и изричитим поравнањем је наведено\n" +#: ldlang.c:7772 +msgid "%P:%pS: error: align with input and explicit align specified\n" +msgstr "%P:%pS: грешка: поравнање Ñа улазом и изричитим поравнањем је наведено\n" -#: ldlang.c:8170 +#: ldlang.c:8243 msgid "%P: warning: --enable-non-contiguous-regions discards section `%pA' from `%pB'\n" msgstr "%P: упозорење: „--enable-non-contiguous-regions“ одбацује одељак „%pA“ из „%pB“\n" -#: ldlang.c:8274 -msgid "%F%P: %s: plugin reported error after all symbols read\n" -msgstr "%F%P: %s: извештена грешка прикључка након читања Ñвих Ñимбола\n" +#: ldlang.c:8347 +msgid "%P: %s: plugin reported error after all symbols read\n" +msgstr "%P: %s: извештена грешка прикључка након читања Ñвих Ñимбола\n" -#: ldlang.c:8399 +#: ldlang.c:8472 msgid "" "Object-only input files:\n" " " @@ -865,251 +861,255 @@ msgstr "" "Објекта-Ñамо улазне датотеке:\n" " " -#: ldlang.c:8511 -msgid "%F%P: bfd_merge_sections failed: %E\n" -msgstr "%F%P: клонирање одељка није уÑпело: %E\n" +#: ldlang.c:8586 +msgid "%P: bfd_merge_sections failed: %E\n" +msgstr "%P: клонирање одељка није уÑпело: %E\n" -#: ldlang.c:8888 -msgid "%F%P: multiple STARTUP files\n" -msgstr "%F%P: неколико ПОЧЕТÐИХ датотека\n" +#: ldlang.c:8965 +msgid "%P: multiple STARTUP files\n" +msgstr "%P: неколико ПОЧЕТÐИХ датотека\n" -#: ldlang.c:8934 +#: ldlang.c:9010 msgid "%X%P:%pS: section has both a load address and a load region\n" msgstr "%X%P:%pS: одељак има и адреÑу учитавања и облаÑÑ‚ учитавања\n" -#: ldlang.c:9043 +#: ldlang.c:9119 msgid "%X%P:%pS: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them\n" msgstr "%X%P:%pS: „PHDRS“ и „FILEHDR“ ниÑу подржани када недоÑтају у претходним „PT_LOAD“ заглављима\n" -#: ldlang.c:9116 -msgid "%F%P: no sections assigned to phdrs\n" -msgstr "%F%P: ниједан одељак није додељен „phdrs“-у\n" +#: ldlang.c:9192 +msgid "%P: no sections assigned to phdrs\n" +msgstr "%P: ниједан одељак није додељен „phdrs“-у\n" -#: ldlang.c:9154 -msgid "%F%P: bfd_record_phdr failed: %E\n" -msgstr "%F%P: „bfd_record_phdr“ није уÑпело: %E\n" +#: ldlang.c:9230 +msgid "%P: bfd_record_phdr failed: %E\n" +msgstr "%P: „bfd_record_phdr“ није уÑпело: %E\n" -#: ldlang.c:9174 +#: ldlang.c:9250 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" msgstr "%X%P: одељак „%s“ је додељен непоÑтојећем „phdr“-у „%s“\n" -#: ldlang.c:9590 +#: ldlang.c:9663 msgid "%X%P: unknown language `%s' in version information\n" msgstr "%X%P: непознат језик „%s“ у подацима о издању\n" -#: ldlang.c:9735 +#: ldlang.c:9801 msgid "%X%P: anonymous version tag cannot be combined with other version tags\n" msgstr "%X%P: анонимна ознака издања Ñе не може комбиновати Ñа другим ознакама издања\n" -#: ldlang.c:9744 +#: ldlang.c:9809 msgid "%X%P: duplicate version tag `%s'\n" msgstr "%X%P: удвоÑтручена ознака издања „%s“\n" -#: ldlang.c:9765 ldlang.c:9774 ldlang.c:9792 ldlang.c:9802 +#: ldlang.c:9830 ldlang.c:9839 ldlang.c:9857 ldlang.c:9867 msgid "%X%P: duplicate expression `%s' in version information\n" msgstr "%X%P: удвоÑтручени израз „%s“ у подацима о издању\n" -#: ldlang.c:9842 +#: ldlang.c:9907 msgid "%X%P: unable to find version dependency `%s'\n" msgstr "%X%P: не могу да нађем завиÑноÑÑ‚ издања „%s“\n" -#: ldlang.c:9865 +#: ldlang.c:9930 msgid "%X%P: unable to read .exports section contents\n" msgstr "%X%P: не могу да прочитам Ñадржаје одељка „.exports“ (извоза)\n" -#: ldlang.c:9911 +#: ldlang.c:9974 msgid "%P: invalid origin for memory region %s\n" msgstr "%P: неиÑправно порекло за облаÑÑ‚ меморије „%s“\n" -#: ldlang.c:9923 +#: ldlang.c:9986 msgid "%P: invalid length for memory region %s\n" msgstr "%P: неиÑправна дужина за облаÑÑ‚ меморије „%s“\n" -#: ldlang.c:10035 +#: ldlang.c:10099 msgid "%X%P: unknown feature `%s'\n" msgstr "%X%P: непозната функција „%s“\n" -#: ldlang.c:10401 +#: ldlang.c:10465 msgid "failed to create output section" msgstr "ниÑам уÑпео да направим излазни одељак" -#: ldlang.c:10435 +#: ldlang.c:10499 msgid "failed to copy private data" msgstr "ниÑам уÑпео да умножим личне податке" -#: ldlang.c:10444 -msgid "%P%F: setup_section: %s: %s\n" -msgstr "%P%F: setup_section: %s: %s\n" +#: ldlang.c:10508 +msgid "%P: setup_section: %s: %s\n" +msgstr "%F: setup_section: %s: %s\n" -#: ldlang.c:10507 +#: ldlang.c:10571 msgid "relocation count is negative" msgstr "збир премештаја је негативан" -#: ldlang.c:10539 -msgid "%P%F: copy_section: %s: %s\n" -msgstr "%P%F: copy_section: %s: %s\n" +#: ldlang.c:10603 +msgid "%P: copy_section: %s: %s\n" +msgstr "%F: copy_section: %s: %s\n" -#: ldlang.c:10694 +#: ldlang.c:10758 msgid "error setting up sections" msgstr "грешка подешавања одељака" -#: ldlang.c:10702 +#: ldlang.c:10766 msgid "error copying private header data" msgstr "грешка умножавања личних података заглавља" -#: ldlang.c:10715 +#: ldlang.c:10779 msgid "can't create object-only section" msgstr "не могу да направим објекта-Ñамо одељак" -#: ldlang.c:10721 +#: ldlang.c:10785 msgid "can't set object-only section size" msgstr "не могу да поÑтавим величину одељка објекта-Ñамо" -#: ldlang.c:10752 +#: ldlang.c:10816 msgid "error copying sections" msgstr "грешка умножавања одељака" -#: ldlang.c:10759 +#: ldlang.c:10823 msgid "error adding object-only section" msgstr "грешка додавања одељка објекта-Ñамо" -#: ldlang.c:10769 +#: ldlang.c:10833 msgid "error copying private BFD data" msgstr "грешка умножавања личних BFD података" -#: ldlang.c:10776 -msgid "%P%F: failed to finish output with object-only section\n" -msgstr "%P%F: ниÑам уÑпео да довршим изл\\аз Ñа одељком Ñамо објекта\n" - -#: ldlang.c:10786 -msgid "%P%F: failed to rename output with object-only section\n" -msgstr "%P%F: ниÑам уÑпео да преименујем излаз Ñа одељком Ñамо објекта\n" +#: ldlang.c:10840 +msgid "%P: failed to finish output with object-only section\n" +msgstr "%F: ниÑам уÑпео да довршим изл\\аз Ñа одељком Ñамо објекта\n" -#: ldlang.c:10802 -msgid "%P%F: failed to add object-only section: %s\n" -msgstr "%P%F: ниÑам уÑпео да додам одељак Ñамо објекта: %s\n" +#: ldlang.c:10850 +msgid "%P: failed to rename output with object-only section\n" +msgstr "%F: ниÑам уÑпео да преименујем излаз Ñа одељком Ñамо објекта\n" -#: ldlang.c:10835 -msgid "%P%F: Failed to create hash table\n" -msgstr "%P%F: ÐиÑам уÑпео да направим хеш табелу\n" +#: ldlang.c:10866 +msgid "%P: failed to add object-only section: %s\n" +msgstr "%F: ниÑам уÑпео да додам одељак Ñамо објекта: %s\n" #: ldlang.c:10899 -msgid "%P%F:%s: final close failed on object-only output: %E\n" -msgstr "%P%F:%s: завршно затварање није уÑпело на излазу Ñамо објекта: %E\n" +msgid "%P: Failed to create hash table\n" +msgstr "%F: ÐиÑам уÑпео да направим хеш табелу\n" + +#: ldlang.c:10963 +msgid "%P:%s: final close failed on object-only output: %E\n" +msgstr "%P:%s: завршно затварање није уÑпело на излазу Ñамо објекта: %E\n" -#: ldlang.c:10909 -msgid "%P%F:%s: cannot open object-only output: %E\n" -msgstr "%P%F:%s: не могу да отворим излаз Ñамо објекта: %E\n" +#: ldlang.c:10973 +msgid "%P:%s: cannot open object-only output: %E\n" +msgstr "%P:%s: не могу да отворим излаз Ñамо објекта: %E\n" -#: ldlang.c:10917 -msgid "%P%F:%s: cannot stat object-only output: %E\n" -msgstr "%P%F:%s: не могу да добијем Ñтање излаза Ñамо објекта: %E\n" +#: ldlang.c:10981 +msgid "%P:%s: cannot stat object-only output: %E\n" +msgstr "%P:%s: не могу да добијем Ñтање излаза Ñамо објекта: %E\n" -#: ldlang.c:10932 -msgid "%P%F:%s: read failed on object-only output: %E\n" -msgstr "%P%F:%s: читање није уÑпело на излазу Ñамо објекта: %E\n" +#: ldlang.c:10996 +msgid "%P:%s: read failed on object-only output: %E\n" +msgstr "%P:%s: читање није уÑпело на излазу Ñамо објекта: %E\n" -#: ldlang.c:10959 -msgid "%P%F: cannot extract object-only section from %B: %E\n" -msgstr "%P%F: не могу да раÑпакујем одељак Ñамо објекта из „%B“: %E\n" +#: ldlang.c:11023 +msgid "%P: cannot extract object-only section from %B: %E\n" +msgstr "%F: не могу да раÑпакујем одељак Ñамо објекта из „%B“: %E\n" -#: ldmain.c:198 -msgid "%F%P: cannot open dependency file %s: %E\n" -msgstr "%F%P: не могу да отворим датотеку завиÑноÑти „%s“: %E\n" +#: ldmain.c:204 +msgid "%P: cannot open dependency file %s: %E\n" +msgstr "%P: не могу да отворим датотеку завиÑноÑти „%s“: %E\n" -#: ldmain.c:291 -msgid "%F%P: fatal error: libbfd ABI mismatch\n" -msgstr "%F%P: кобна грешка: „libbfd ABI“ не одговара\n" +#: ldmain.c:553 +msgid "WARNING: Data is unreliable!\n" +msgstr "УПОЗОРЕЊЕ: Подаци ниÑу веродоÑтојни!\n" -#: ldmain.c:330 +#: ldmain.c:611 +msgid "%P: fatal error: libbfd ABI mismatch\n" +msgstr "%P: кобна грешка: „libbfd ABI“ не одговара\n" + +#: ldmain.c:650 msgid "%X%P: can't set BFD default target to `%s': %E\n" msgstr "%X%P: не могу да поÑтавим оÑновну БФД мету на „%s“: %E\n" -#: ldmain.c:435 +#: ldmain.c:761 msgid "built in linker script" msgstr "уграђена Ñкрипта повезивача" -#: ldmain.c:445 +#: ldmain.c:771 #, c-format msgid "using external linker script: %s" msgstr "кориÑти Ñпољну Ñкрипту Ñвезача: %s" -#: ldmain.c:447 +#: ldmain.c:773 msgid "using internal linker script:" msgstr "кориÑтим унутрашњу Ñкрипту повезивача:" -#: ldmain.c:497 -msgid "%F%P: --no-define-common may not be used without -shared\n" -msgstr "%F%P: „--no-define-common“ Ñе не може кориÑтити без „-shared“\n" +#: ldmain.c:823 +msgid "%P: --no-define-common may not be used without -shared\n" +msgstr "%P: „--no-define-common“ Ñе не може кориÑтити без „-shared“\n" -#: ldmain.c:504 -msgid "%F%P: no input files\n" -msgstr "%F%P: нема улазних датотека\n" +#: ldmain.c:830 +msgid "%P: no input files\n" +msgstr "%P: нема улазних датотека\n" -#: ldmain.c:508 +#: ldmain.c:834 msgid "%P: mode %s\n" msgstr "%P: режим „%s“\n" -#: ldmain.c:526 ends32belf.c:473 ends32belf16m.c:473 ends32belf_linux.c:606 +#: ldmain.c:852 ends32belf.c:473 ends32belf16m.c:473 ends32belf_linux.c:606 #: ends32elf.c:473 ends32elf16m.c:473 ends32elf_linux.c:606 -msgid "%F%P: cannot open map file %s: %E\n" -msgstr "%F%P: не могу да отворим датотеку мапе „%s“: %E\n" +msgid "%P: cannot open map file %s: %E\n" +msgstr "%P: не могу да отворим датотеку мапе „%s“: %E\n" -#: ldmain.c:590 +#: ldmain.c:944 msgid "%P: link errors found, deleting executable `%s'\n" msgstr "%P: нађох грешке везе, бришем извршног „%s“\n" -#: ldmain.c:601 -msgid "%F%P: %s: final close failed: %E\n" -msgstr "%F%P: %s: завршно затварање није уÑпело: %E\n" +#: ldmain.c:955 +msgid "%P: %s: final close failed: %E\n" +msgstr "%P: %s: завршно затварање није уÑпело: %E\n" -#: ldmain.c:630 -msgid "%F%P: unable to open for source of copy `%s'\n" -msgstr "%F%P: не могу да отворим за извором умношка „%s“\n" +#: ldmain.c:984 +msgid "%P: unable to open for source of copy `%s'\n" +msgstr "%P: не могу да отворим за извором умношка „%s“\n" -#: ldmain.c:633 -msgid "%F%P: unable to open for destination of copy `%s'\n" -msgstr "%F%P: не могу да отворим за одредиштем умношка „%s“\n" +#: ldmain.c:987 +msgid "%P: unable to open for destination of copy `%s'\n" +msgstr "%P: не могу да отворим за одредиштем умношка „%s“\n" -#: ldmain.c:640 +#: ldmain.c:994 msgid "%P: error writing file `%s'\n" msgstr "%P: грешка пиÑања датотеке „%s“\n" -#: ldmain.c:645 pe-dll.c:2009 +#: ldmain.c:999 pe-dll.c:2013 #, c-format msgid "%P: error closing file `%s'\n" msgstr "%P: грешка затварања датотеке „%s“\n" -#: ldmain.c:660 +#: ldmain.c:1030 #, c-format msgid "%s: total time in link: %ld.%06ld\n" msgstr "%s: укупно време у вези: %ld.%06ld\n" -#: ldmain.c:747 -msgid "%F%P: missing argument to -m\n" -msgstr "%F%P: недоÑтаје аргумент за „-m“\n" +#: ldmain.c:1120 +msgid "%P: missing argument to -m\n" +msgstr "%P: недоÑтаје аргумент за „-m“\n" -#: ldmain.c:801 ldmain.c:818 ldmain.c:838 ldmain.c:870 pe-dll.c:1431 -msgid "%F%P: bfd_hash_table_init failed: %E\n" -msgstr "%F%P: „bfd_hash_table_init“ није уÑпело: %E\n" +#: ldmain.c:1174 ldmain.c:1191 ldmain.c:1211 ldmain.c:1243 pe-dll.c:1434 +msgid "%P: bfd_hash_table_init failed: %E\n" +msgstr "%P: „bfd_hash_table_init“ није уÑпело: %E\n" -#: ldmain.c:805 ldmain.c:822 ldmain.c:842 -msgid "%F%P: bfd_hash_lookup failed: %E\n" -msgstr "%F%P: „bfd_hash_lookup“ није уÑпело: %E\n" +#: ldmain.c:1178 ldmain.c:1195 ldmain.c:1215 +msgid "%P: bfd_hash_lookup failed: %E\n" +msgstr "%P: „bfd_hash_lookup“ није уÑпело: %E\n" -#: ldmain.c:856 +#: ldmain.c:1229 msgid "%X%P: error: duplicate retain-symbols-file\n" msgstr "%X%P: грешка: удвоÑтручено задржи-датотеку-Ñимбола\n" -#: ldmain.c:900 -msgid "%F%P: bfd_hash_lookup for insertion failed: %E\n" -msgstr "%F%P: „bfd_hash_lookup“ за уметање није уÑпело: %E\n" +#: ldmain.c:1273 +msgid "%P: bfd_hash_lookup for insertion failed: %E\n" +msgstr "%P: „bfd_hash_lookup“ за уметање није уÑпело: %E\n" -#: ldmain.c:905 +#: ldmain.c:1278 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" msgstr "%P: „-retain-symbols-file“ препиÑује `-s' и „-S“\n" -#: ldmain.c:1026 +#: ldmain.c:1402 msgid "" "Archive member included to satisfy reference by file (symbol)\n" "\n" @@ -1117,175 +1117,175 @@ msgstr "" "Члан архиве је укључен да би задовољио упуту датотеком (Ñимболом)\n" "\n" -#: ldmain.c:1132 +#: ldmain.c:1508 msgid "%P: %C: warning: multiple definition of `%pT'" msgstr "%P: %C: упозорење: вишеÑтрука дефиниција за „%pT“" -#: ldmain.c:1135 +#: ldmain.c:1511 msgid "%X%P: %C: multiple definition of `%pT'" msgstr "%X%P: %C: вишеÑтрука дефиниција за „%pT“" -#: ldmain.c:1138 +#: ldmain.c:1514 msgid "; %D: first defined here" msgstr "; %D: прво је дефиниÑано овде" -#: ldmain.c:1143 +#: ldmain.c:1519 msgid "%P: disabling relaxation; it will not work with multiple definitions\n" msgstr "%P: иÑкључујем опуштање: неће радити Ñа вишеÑтруким дефиницијама\n" -#: ldmain.c:1196 +#: ldmain.c:1572 msgid "%P: %pB: warning: definition of `%pT' overriding common from %pB\n" msgstr "%P: %pB: упозорење: дефиниција за „%pT“ препиÑује опште из „%pB“\n" -#: ldmain.c:1200 +#: ldmain.c:1576 msgid "%P: %pB: warning: definition of `%pT' overriding common\n" msgstr "%P: %pB: упозорење: дефиниција за „%pT“ препиÑује опште\n" -#: ldmain.c:1209 +#: ldmain.c:1585 msgid "%P: %pB: warning: common of `%pT' overridden by definition from %pB\n" msgstr "%P: %pB: упозорење: опште за „%pT“ је препиÑано дефиницијом из „%pB“\n" -#: ldmain.c:1213 +#: ldmain.c:1589 msgid "%P: %pB: warning: common of `%pT' overridden by definition\n" msgstr "%P: %pB: упозорење: опште за „%pT“ је препиÑано дефиницијом\n" -#: ldmain.c:1222 +#: ldmain.c:1598 msgid "%P: %pB: warning: common of `%pT' overridden by larger common from %pB\n" msgstr "%P: %pB: упозорење: опште за „%pT“ је препиÑано већим општим из „%pB“\n" -#: ldmain.c:1226 +#: ldmain.c:1602 msgid "%P: %pB: warning: common of `%pT' overridden by larger common\n" msgstr "%P: %pB: упозорење: опште за „%pT“ је препиÑано већим општим\n" -#: ldmain.c:1233 +#: ldmain.c:1609 msgid "%P: %pB: warning: common of `%pT' overriding smaller common from %pB\n" msgstr "%P: %pB: упозорење: опште за „%pT“ препиÑује мањег општег из „%pB“\n" -#: ldmain.c:1237 +#: ldmain.c:1613 msgid "%P: %pB: warning: common of `%pT' overriding smaller common\n" msgstr "%P: %pB: упозорење: опште за „%pT“ препиÑује мањег општег\n" -#: ldmain.c:1244 +#: ldmain.c:1620 msgid "%P: %pB and %pB: warning: multiple common of `%pT'\n" msgstr "%P: „%pB“ и „%pB“: упозорење: више општих за „%pT“\n" -#: ldmain.c:1247 +#: ldmain.c:1623 msgid "%P: %pB: warning: multiple common of `%pT'\n" msgstr "%P: %pB: упозорење: више општих за „%pT“\n" -#: ldmain.c:1266 ldmain.c:1302 +#: ldmain.c:1642 ldmain.c:1678 msgid "%P: warning: global constructor %s used\n" msgstr "%P: упозорење: глобални конÑтруктор „%s“ је коришћен\n" -#: ldmain.c:1312 -msgid "%F%P: BFD backend error: BFD_RELOC_CTOR unsupported\n" -msgstr "%F%P: грешка БФД позадинца: „BFD_RELOC_CTOR“ није подржано\n" +#: ldmain.c:1688 +msgid "%P: BFD backend error: BFD_RELOC_CTOR unsupported\n" +msgstr "%P: грешка БФД позадинца: „BFD_RELOC_CTOR“ није подржано\n" #. We found a reloc for the symbol we are looking for. -#: ldmain.c:1384 ldmain.c:1386 ldmain.c:1388 ldmain.c:1396 ldmain.c:1439 +#: ldmain.c:1760 ldmain.c:1762 ldmain.c:1764 ldmain.c:1772 ldmain.c:1815 msgid "warning: " msgstr "упозорење: " -#: ldmain.c:1529 +#: ldmain.c:1905 msgid "%X%P: %H: undefined reference to `%pT'\n" msgstr "%X%P: %H: недефиниÑана упута ка „%pT“\n" -#: ldmain.c:1532 +#: ldmain.c:1908 msgid "%P: %H: warning: undefined reference to `%pT'\n" msgstr "%P: %H: упозорење: недефиниÑана упута ка „%pT“\n" -#: ldmain.c:1538 +#: ldmain.c:1914 msgid "%X%P: %D: more undefined references to `%pT' follow\n" msgstr "%X%P: %D: још недефиниÑаних упута ка „%pT“ Ñледи\n" -#: ldmain.c:1541 +#: ldmain.c:1917 msgid "%P: %D: warning: more undefined references to `%pT' follow\n" msgstr "%P: %D: упозорење: још недефиниÑаних упута ка „%pT“ Ñледи\n" -#: ldmain.c:1552 +#: ldmain.c:1928 msgid "%X%P: %pB: undefined reference to `%pT'\n" msgstr "%X%P: %pB: недефиниÑана упута ка „%pT“\n" -#: ldmain.c:1555 +#: ldmain.c:1931 msgid "%P: %pB: warning: undefined reference to `%pT'\n" msgstr "%P: %pB: упозорење: недефиниÑана упута ка „%pT“\n" -#: ldmain.c:1561 +#: ldmain.c:1937 msgid "%X%P: %pB: more undefined references to `%pT' follow\n" msgstr "%X%P: %pB: још недефиниÑаних упута ка „%pT“ Ñледи\n" -#: ldmain.c:1564 +#: ldmain.c:1940 msgid "%P: %pB: warning: more undefined references to `%pT' follow\n" msgstr "%P: %pB: упозорење: још недефиниÑаних упута ка „%pT“ Ñледи\n" -#: ldmain.c:1601 +#: ldmain.c:1977 msgid " additional relocation overflows omitted from the output\n" msgstr " додатна превазилажења премештања Ñу изоÑтављена из излаза\n" -#: ldmain.c:1614 +#: ldmain.c:1990 #, c-format msgid " relocation truncated to fit: %s against undefined symbol `%pT'" msgstr " премештање је Ñкраћено да Ñтане: „%s“ наÑпрам недефиниÑаног Ñимбола „%pT“" -#: ldmain.c:1620 +#: ldmain.c:1996 #, c-format msgid " relocation truncated to fit: %s against symbol `%pT' defined in %pA section in %pB" msgstr " премештање је Ñкраћено да Ñтане: „%s“ наÑпрам Ñимбола „%pT“ дефиниÑаног у одељку „%pA“ у „%pB“" -#: ldmain.c:1633 +#: ldmain.c:2009 #, c-format msgid " relocation truncated to fit: %s against `%pT'" msgstr " премештање је Ñкраћено да Ñтане: „%s“ наÑпрам „%pT“" -#: ldmain.c:1649 +#: ldmain.c:2025 msgid "%X%H: dangerous relocation: %s\n" msgstr "%X%H: опаÑно премештање: %s\n" -#: ldmain.c:1663 +#: ldmain.c:2039 msgid "%X%H: reloc refers to symbol `%pT' which is not being output\n" msgstr "%X%H: премештање упућује на Ñимбол „%pT“ који није био излаз\n" -#: ldmain.c:1697 +#: ldmain.c:2073 msgid "%P: %pB: reference to %s\n" msgstr "%P: %pB: упута ка „%s“\n" -#: ldmain.c:1699 +#: ldmain.c:2075 msgid "%P: %pB: definition of %s\n" msgstr "%P: %pB: дефиниција за „%s“\n" -#: ldmisc.c:366 +#: ldmisc.c:359 #, c-format msgid "%pB: in function `%pT':\n" msgstr "%pB: у функцији „%pT“:\n" -#: ldmisc.c:506 +#: ldmisc.c:499 #, c-format msgid "no symbol" msgstr "нема Ñимбола" -#: ldmisc.c:688 +#: ldmisc.c:693 msgid "%P: error: unsupported option: %s\n" msgstr "%P: грешка: неподржана опција: „%s“\n" -#: ldmisc.c:690 +#: ldmisc.c:695 msgid "%P: warning: %s ignored\n" msgstr "%P: упозорење: %s“ је занемарено\n" -#: ldmisc.c:701 -msgid "%F%P: internal error %s %d\n" -msgstr "%F%P: унутрашња грешка „%s“ %d\n" +#: ldmisc.c:706 +msgid "%P: internal error %s %d\n" +msgstr "%P: унутрашња грешка „%s“ %d\n" -#: ldmisc.c:765 +#: ldmisc.c:770 msgid "%P: internal error: aborting at %s:%d in %s\n" msgstr "%P: унутрашња грешка: прекидам при „%s“: %d у „%s“\n" -#: ldmisc.c:768 +#: ldmisc.c:773 msgid "%P: internal error: aborting at %s:%d\n" msgstr "%P: унутрашња грешка: прекидам при „%s“: %d\n" -#: ldmisc.c:770 -msgid "%F%P: please report this bug\n" -msgstr "%F%P: пријавите ову грешку\n" +#: ldmisc.c:775 +msgid "%P: please report this bug\n" +msgstr "%P: пријавите ову грешку\n" #. Output for noisy == 2 is intended to follow the GNU standards. #: ldver.c:38 @@ -1316,29 +1316,29 @@ msgstr " Подржане емулације:\n" #: ldwrite.c:60 ldwrite.c:67 ldwrite.c:173 ldwrite.c:181 ldwrite.c:227 #: ldwrite.c:268 -msgid "%F%P: bfd_new_link_order failed: %E\n" -msgstr "%F%P: „bfd_new_link_order“ није уÑпело: %E\n" +msgid "%P: bfd_new_link_order failed: %E\n" +msgstr "%P: „bfd_new_link_order“ није уÑпело: %E\n" #: ldwrite.c:337 -msgid "%F%P: cannot create split section name for %s\n" -msgstr "%F%P: не могу да направим назив одељка поделе за „%s“\n" +msgid "%P: cannot create split section name for %s\n" +msgstr "%P: не могу да направим назив одељка поделе за „%s“\n" -#: ldwrite.c:349 -msgid "%F%P: clone section failed: %E\n" -msgstr "%F%P: клонирање одељка није уÑпело: %E\n" +#: ldwrite.c:348 +msgid "%P: clone section failed: %E\n" +msgstr "%P: клонирање одељка није уÑпело: %E\n" -#: ldwrite.c:387 +#: ldwrite.c:385 #, c-format msgid "%8x something else\n" msgstr "%8x нешто друго\n" -#: ldwrite.c:553 -msgid "%F%P: final link failed: %E\n" -msgstr "%F%P: завршна веза није уÑпела: %E\n" +#: ldwrite.c:551 +msgid "%P: final link failed: %E\n" +msgstr "%P: завршна веза није уÑпела: %E\n" -#: ldwrite.c:555 -msgid "%F%P: final link failed\n" -msgstr "%F%P: завршна веза није уÑпела\n" +#: ldwrite.c:553 +msgid "%P: final link failed\n" +msgstr "%P: завршна веза није уÑпела\n" #: lexsup.c:105 lexsup.c:303 msgid "KEYWORD" @@ -1366,7 +1366,7 @@ msgstr "Ðаводи мету за пратеће улазне датотеке" #: lexsup.c:113 lexsup.c:119 lexsup.c:180 lexsup.c:184 lexsup.c:223 #: lexsup.c:227 lexsup.c:242 lexsup.c:244 lexsup.c:465 lexsup.c:491 -#: lexsup.c:539 lexsup.c:552 lexsup.c:556 +#: lexsup.c:541 lexsup.c:554 lexsup.c:558 msgid "FILE" msgstr "ДÐТОТЕКÐ" @@ -1386,8 +1386,8 @@ msgstr "Пише датотеку завиÑноÑти" msgid "Force group members out of groups" msgstr "ПриÑиљава чланове групе ван група" -#: lexsup.c:124 lexsup.c:514 lexsup.c:516 lexsup.c:518 lexsup.c:520 -#: lexsup.c:522 lexsup.c:524 lexsup.c:526 +#: lexsup.c:124 lexsup.c:516 lexsup.c:518 lexsup.c:520 lexsup.c:522 +#: lexsup.c:524 lexsup.c:526 lexsup.c:528 msgid "ADDRESS" msgstr "ÐДРЕСÐ" @@ -1612,7 +1612,7 @@ msgid "Read default linker script" msgstr "Чита оÑновну Ñкрипту повезивача" #: lexsup.c:248 lexsup.c:251 lexsup.c:269 lexsup.c:361 lexsup.c:385 -#: lexsup.c:507 lexsup.c:542 lexsup.c:554 lexsup.c:613 lexsup.c:616 +#: lexsup.c:509 lexsup.c:544 lexsup.c:556 lexsup.c:615 lexsup.c:618 msgid "SYMBOL" msgstr "СИМБОЛ" @@ -2005,58 +2005,62 @@ msgid "Split output sections every COUNT relocs" msgstr "Дели излазне одељке Ñвака ВЕЛИЧИÐРпремештања" #: lexsup.c:503 -msgid "Print memory usage statistics" -msgstr "ИÑпиÑује ÑтатиÑтику коришћења меморије" +msgid "Print resource usage statistics" +msgstr "ИÑпиÑује ÑтатиÑтику коришћења реÑурÑа" #: lexsup.c:505 +msgid "Do not print resource usage statistics" +msgstr "Ðе иÑпиÑује ÑтатиÑтику коришћења реÑурÑа" + +#: lexsup.c:507 msgid "Display target specific options" msgstr "Приказује опције Ñпецифичне за мету" -#: lexsup.c:507 +#: lexsup.c:509 msgid "Do task level linking" msgstr " Обавља повезивање на нивоу задатка" -#: lexsup.c:509 +#: lexsup.c:511 msgid "Use same format as native linker" msgstr "КориÑти иÑти формат као матични повезивач" -#: lexsup.c:511 +#: lexsup.c:513 msgid "SECTION=ADDRESS" msgstr "ОДЕЉÐК=ÐДРЕСÐ" -#: lexsup.c:511 +#: lexsup.c:513 msgid "Set address of named section" msgstr "ПоÑтавља адреÑу именованог одељка" -#: lexsup.c:514 +#: lexsup.c:516 msgid "Set image base address" msgstr "Подешава оÑновну адреÑу Ñлике" -#: lexsup.c:516 +#: lexsup.c:518 msgid "Set address of .bss section" msgstr " ПоÑтавља адреÑу одељка „.bss“" -#: lexsup.c:518 +#: lexsup.c:520 msgid "Set address of .data section" msgstr " ПоÑтавља адреÑу одељка „.data“" -#: lexsup.c:520 +#: lexsup.c:522 msgid "Set address of .text section" msgstr " ПоÑтавља адреÑу одељка „.text“" -#: lexsup.c:522 +#: lexsup.c:524 msgid "Set address of text segment" msgstr " ПоÑтавља адреÑу одељка текÑта" -#: lexsup.c:524 +#: lexsup.c:526 msgid "Set address of rodata segment" msgstr "ПоÑтавља адреÑу одељка ро-података" -#: lexsup.c:526 +#: lexsup.c:528 msgid "Set address of ldata segment" msgstr "ПоÑтавља адреÑу одељка л-података" -#: lexsup.c:529 +#: lexsup.c:531 msgid "" "How to handle unresolved symbols. <method> is:\n" " ignore-all, report-all, ignore-in-object-files,\n" @@ -2066,19 +2070,19 @@ msgstr "" " „report-all“ (пријави Ñве), „ignore-in-object-files“ (занемари у објектним датотекама),\n" " „ignore-in-shared-libs“ (занемари у дељеним библиотекама)" -#: lexsup.c:534 +#: lexsup.c:536 msgid "[=NUMBER]" msgstr "[=БРОЈ]" -#: lexsup.c:535 +#: lexsup.c:537 msgid "Output lots of information during link" msgstr " ИÑпиÑује доÑта података за време повезивања" -#: lexsup.c:539 +#: lexsup.c:541 msgid "Read version information script" msgstr "Чита Ñкрипту података о издању" -#: lexsup.c:542 +#: lexsup.c:544 msgid "" "Take export symbols list from .exports, using\n" " SYMBOL as the version." @@ -2086,127 +2090,127 @@ msgstr "" "Узима извозни ÑпиÑак Ñимбола из „.exports“, кориÑтећи\n" " СИМБОЛ као издање." -#: lexsup.c:546 +#: lexsup.c:548 msgid "Add data symbols to dynamic list" msgstr "Додаје Ñимболе података на динамички ÑпиÑак" -#: lexsup.c:548 +#: lexsup.c:550 msgid "Use C++ operator new/delete dynamic list" msgstr "КориÑти нови/обриши динамички ÑпиÑак Ц++ оператора" -#: lexsup.c:550 +#: lexsup.c:552 msgid "Use C++ typeinfo dynamic list" msgstr "КориÑти Ц++ динамички ÑпиÑак врÑте података" -#: lexsup.c:552 +#: lexsup.c:554 msgid "Read dynamic list" msgstr "Чита динамички ÑпиÑак" -#: lexsup.c:554 +#: lexsup.c:556 msgid "Export the specified symbol" msgstr "Извози наведени Ñимбол" -#: lexsup.c:556 +#: lexsup.c:558 msgid "Read export dynamic symbol list" msgstr "Чита ÑпиÑак извоза динамичког Ñимбола" -#: lexsup.c:558 +#: lexsup.c:560 msgid "Warn about duplicate common symbols" msgstr "Упозорава о удвоÑтрученим општим Ñимболима" -#: lexsup.c:560 +#: lexsup.c:562 msgid "Warn if global constructors/destructors are seen" msgstr "Упозорава ако је виђен општи градитељ/рушитељ" -#: lexsup.c:584 +#: lexsup.c:586 msgid "Warn if the multiple GP values are used" msgstr "Упозорава ако је коришћено више ГП вредноÑти" -#: lexsup.c:586 +#: lexsup.c:588 msgid "Warn only once per undefined symbol" msgstr "Упозорава Ñамо једном по недефиниÑаном Ñимболу" -#: lexsup.c:588 +#: lexsup.c:590 msgid "Warn if start of section changes due to alignment" msgstr "Упозорава ако Ñе почетак одељка промени у току поравнања" -#: lexsup.c:593 +#: lexsup.c:595 msgid "Warn if output has DT_TEXTREL (default)" msgstr "Упозорава ако излаз има „DT_TEXTREL“ (оÑновно)" -#: lexsup.c:595 +#: lexsup.c:597 msgid "Warn if output has DT_TEXTREL" msgstr "Упозорава ако излаз има „DT_TEXTREL“" -#: lexsup.c:601 +#: lexsup.c:603 msgid "Warn if an object has alternate ELF machine code" msgstr "Упозорава ако објект има заменÑки ЕЛФ машинÑки код" -#: lexsup.c:605 +#: lexsup.c:607 msgid "Report unresolved symbols as warnings" msgstr "ПредÑтавља нерешене Ñимболе као упозорења" -#: lexsup.c:608 +#: lexsup.c:610 msgid "Report unresolved symbols as errors" msgstr "ПредÑтавља нерешене Ñимболе као грешке" -#: lexsup.c:610 +#: lexsup.c:612 msgid "Include all objects from following archives" msgstr "Укључује Ñве објкете из пратећих архива" -#: lexsup.c:613 +#: lexsup.c:615 msgid "Use wrapper functions for SYMBOL" msgstr " КориÑти функције омотача за СИМБОЛ" -#: lexsup.c:617 +#: lexsup.c:619 msgid "Unresolved SYMBOL will not cause an error or warning" msgstr "Ðерешени СИМБОЛ неће довеÑти до грешке или упозорења" -#: lexsup.c:619 +#: lexsup.c:621 msgid "Push state of flags governing input file handling" msgstr "Стање гурања заÑтавица влада руковањем улазне датотеке" -#: lexsup.c:622 +#: lexsup.c:624 msgid "Pop state of flags governing input file handling" msgstr "Стање избацивања у први план заÑтавица влада руковањем улазне датотеке" -#: lexsup.c:625 +#: lexsup.c:627 msgid "Report target memory usage" msgstr "Извештава коришћење меморије циља" -#: lexsup.c:627 +#: lexsup.c:629 msgid "=MODE" msgstr "=РЕЖИМ" -#: lexsup.c:627 +#: lexsup.c:629 msgid "Control how orphan sections are handled." msgstr "Контролише како Ñе ради Ñа напуштеним одељцима." -#: lexsup.c:630 +#: lexsup.c:632 msgid "Show discarded sections in map file output (default)" msgstr "Приказује одбачене одељке у излазу датотеке мапе (оÑновно)" -#: lexsup.c:633 +#: lexsup.c:635 msgid "Do not show discarded sections in map file output" msgstr "Приказује одбачене одељке у излазу датотеке мапе" -#: lexsup.c:636 +#: lexsup.c:638 msgid "Show local symbols in map file output" msgstr "Приказује локалне Ñимболе у излазу датотеке мапе" -#: lexsup.c:639 +#: lexsup.c:641 msgid "Do not show local symbols in map file output (default)" msgstr "Ðе приказује локалне Ñимболе у излазу датотеке мапе (оÑновно)" -#: lexsup.c:642 +#: lexsup.c:644 msgid "Emit names and types of static variables in CTF" msgstr "Емитује називе и врÑте Ñтатичких променљивих у „CTF“-у" -#: lexsup.c:645 +#: lexsup.c:647 msgid "Do not emit names and types of static variables in CTF" msgstr "Ðе емитује називе и врÑте Ñтатичких променљивих у „CTF“-у" -#: lexsup.c:649 +#: lexsup.c:651 msgid "" "How to share CTF types between translation units.\n" " <method> is: share-unconflicted (default),\n" @@ -2216,43 +2220,43 @@ msgstr "" " <метода> је: „share-unconflicted“ (оÑновно),\n" " „share-duplicated“" -#: lexsup.c:813 -msgid "%F%P: Error: unable to disambiguate: %s (did you mean -%s ?)\n" -msgstr "%F%P: Грешка: не могу да разликујем: %s (да ли Ñте миÑлили „-%s“ ?)\n" +#: lexsup.c:815 +msgid "%P: Error: unable to disambiguate: %s (did you mean -%s ?)\n" +msgstr "%P: Грешка: не могу да разликујем: %s (да ли Ñте миÑлили „-%s“ ?)\n" -#: lexsup.c:816 +#: lexsup.c:819 msgid "%P: Warning: grouped short command line options are deprecated: %s\n" msgstr "%P: Упозорење: групиÑане кратке опције линије наредби Ñу заÑтареле: %s\n" -#: lexsup.c:843 +#: lexsup.c:846 msgid "%P: %s: missing argument\n" msgstr "%P: %s: недоÑтаје аргумент\n" -#: lexsup.c:848 +#: lexsup.c:851 msgid "%P: unrecognized option '%s'\n" msgstr "%P: непозната опција „%s“\n" -#: lexsup.c:853 -msgid "%F%P: use the --help option for usage information\n" -msgstr "%F%P: кориÑтите опцију „--help“ за податке о коришћењу\n" +#: lexsup.c:856 +msgid "%P: use the --help option for usage information\n" +msgstr "%P: кориÑтите опцију „--help“ за податке о коришћењу\n" -#: lexsup.c:872 -msgid "%F%P: unrecognized -a option `%s'\n" -msgstr "%F%P: непозната „-a“ опција „%s“\n" +#: lexsup.c:875 +msgid "%P: unrecognized -a option `%s'\n" +msgstr "%P: непозната „-a“ опција „%s“\n" -#: lexsup.c:885 -msgid "%F%P: unrecognized -assert option `%s'\n" -msgstr "%F%P: непозната „-assert“ опција „%s“\n" +#: lexsup.c:888 +msgid "%P: unrecognized -assert option `%s'\n" +msgstr "%P: непозната „-assert“ опција „%s“\n" -#: lexsup.c:929 -msgid "%F%P: unknown demangling style `%s'\n" -msgstr "%F%P: непознат Ñтил прекрштавања „%s“\n" +#: lexsup.c:932 +msgid "%P: unknown demangling style `%s'\n" +msgstr "%P: непознат Ñтил прекрштавања „%s“\n" -#: lexsup.c:1037 lexsup.c:1533 eaarch64cloudabi.c:986 eaarch64cloudabib.c:986 -#: eaarch64elf.c:986 eaarch64elf32.c:986 eaarch64elf32b.c:986 -#: eaarch64elfb.c:986 eaarch64fbsd.c:991 eaarch64fbsdb.c:991 -#: eaarch64haiku.c:986 eaarch64linux.c:991 eaarch64linux32.c:991 -#: eaarch64linux32b.c:991 eaarch64linuxb.c:991 eaarch64nto.c:1148 +#: lexsup.c:1039 lexsup.c:1545 eaarch64cloudabi.c:1021 eaarch64cloudabib.c:1021 +#: eaarch64elf.c:1026 eaarch64elf32.c:1026 eaarch64elf32b.c:1026 +#: eaarch64elfb.c:1026 eaarch64fbsd.c:1026 eaarch64fbsdb.c:1026 +#: eaarch64haiku.c:1021 eaarch64linux.c:1026 eaarch64linux32.c:1026 +#: eaarch64linux32b.c:1026 eaarch64linuxb.c:1026 eaarch64nto.c:1183 #: earmelf.c:1135 earmelf_fbsd.c:1135 earmelf_fuchsia.c:1140 #: earmelf_haiku.c:1140 earmelf_linux.c:1140 earmelf_linux_eabi.c:1140 #: earmelf_linux_fdpiceabi.c:1140 earmelf_nacl.c:1140 earmelf_nbsd.c:1135 @@ -2260,19 +2264,19 @@ msgstr "%F%P: непознат Ñтил прекрштавања „%s“\n" #: earmelfb_fbsd.c:1135 earmelfb_fuchsia.c:1140 earmelfb_linux.c:1140 #: earmelfb_linux_eabi.c:1140 earmelfb_linux_fdpiceabi.c:1140 #: earmelfb_nacl.c:1140 earmelfb_nbsd.c:1135 earmnto.c:1095 ecskyelf.c:602 -#: ecskyelf_linux.c:789 eelf32metag.c:788 eelf64lppc.c:1225 -#: eelf64lppc_fbsd.c:1225 eelf64ppc.c:1225 eelf64ppc_fbsd.c:1225 ehppaelf.c:613 +#: ecskyelf_linux.c:789 eelf32metag.c:788 eelf64lppc.c:1226 +#: eelf64lppc_fbsd.c:1226 eelf64ppc.c:1226 eelf64ppc_fbsd.c:1226 ehppaelf.c:613 #: ehppalinux.c:825 ehppanbsd.c:825 ehppaobsd.c:825 -msgid "%F%P: invalid number `%s'\n" -msgstr "%F%P: неиÑправан број „%s“\n" +msgid "%P: invalid number `%s'\n" +msgstr "%P: неиÑправан број „%s“\n" -#: lexsup.c:1133 -msgid "%F%P: bad --unresolved-symbols option: %s\n" -msgstr "%F%P: лоша опција „--unresolved-symbols“: %s\n" +#: lexsup.c:1135 +msgid "%P: bad --unresolved-symbols option: %s\n" +msgstr "%P: лоша опција „--unresolved-symbols“: %s\n" -#: lexsup.c:1220 -msgid "%F%P: bad -plugin-opt option\n" -msgstr "%F%P: лоша опција „-plugin-opt“\n" +#: lexsup.c:1222 +msgid "%P: bad -plugin-opt option\n" +msgstr "%P: лоша опција „-plugin-opt“\n" #. This can happen if the user put "-rpath,a" on the command #. line. (Or something similar. The comma is important). @@ -2282,173 +2286,173 @@ msgstr "%F%P: лоша опција „-plugin-opt“\n" #. an error message here. We cannot just make this a warning, #. increment optind, and continue because getopt is too confused #. and will seg-fault the next time around. -#: lexsup.c:1240 -msgid "%F%P: unrecognised option: %s\n" -msgstr "%F%P: непозната опција „%s“\n" +#: lexsup.c:1242 +msgid "%P: unrecognised option: %s\n" +msgstr "%P: непозната опција „%s“\n" -#: lexsup.c:1243 lexsup.c:1353 lexsup.c:1374 lexsup.c:1502 -msgid "%F%P: -r and %s may not be used together\n" -msgstr "%F%P: „-r“ и „%s“ Ñе не могу кориÑтити заједно\n" +#: lexsup.c:1245 lexsup.c:1355 lexsup.c:1376 lexsup.c:1514 +msgid "%P: -r and %s may not be used together\n" +msgstr "%P: „-r“ и „%s“ Ñе не могу кориÑтити заједно\n" -#: lexsup.c:1365 -msgid "%F%P: -shared not supported\n" -msgstr "%F%P: „-shared“ није подржана\n" +#: lexsup.c:1367 +msgid "%P: -shared not supported\n" +msgstr "%P: „-shared“ није подржана\n" -#: lexsup.c:1379 -msgid "%F%P: -pie not supported\n" -msgstr "%F%P: „-pie“ није подржана\n" +#: lexsup.c:1381 +msgid "%P: -pie not supported\n" +msgstr "%P: „-pie“ није подржана\n" -#: lexsup.c:1385 +#: lexsup.c:1387 msgid "%P: SONAME must not be empty string; keeping previous one\n" msgstr "%P: „SONAME“ не Ñме бити празна ниÑка; задржавам претходну\n" -#: lexsup.c:1391 +#: lexsup.c:1393 msgid "descending" msgstr "опадајуће" -#: lexsup.c:1393 +#: lexsup.c:1395 msgid "ascending" msgstr "раÑтуће" -#: lexsup.c:1396 -msgid "%F%P: invalid common section sorting option: %s\n" -msgstr "%F%P: неиÑправна опција ређања општег одељка: %s\n" +#: lexsup.c:1398 +msgid "%P: invalid common section sorting option: %s\n" +msgstr "%P: неиÑправна опција ређања општег одељка: %s\n" -#: lexsup.c:1400 +#: lexsup.c:1402 msgid "name" msgstr "назив" -#: lexsup.c:1402 +#: lexsup.c:1404 msgid "alignment" msgstr "поравнање" -#: lexsup.c:1405 -msgid "%F%P: invalid section sorting option: %s\n" -msgstr "%F%P: неиÑправна опција ређања одељка: %s\n" +#: lexsup.c:1407 +msgid "%P: invalid section sorting option: %s\n" +msgstr "%P: неиÑправна опција ређања одељка: %s\n" -#: lexsup.c:1411 +#: lexsup.c:1412 msgid "%P: warning: section ordering file changed. Ignoring earlier definition\n" msgstr "%P: упозорење: одељак ређања датотеке је измењен. Занемарујем ранију дефиницију\n" -#: lexsup.c:1448 -msgid "%F%P: invalid argument to option \"--section-start\"\n" -msgstr "%F%P: неиÑправан аргумент за опцију „--section-start“\n" +#: lexsup.c:1460 +msgid "%P: invalid argument to option \"--section-start\"\n" +msgstr "%P: неиÑправан аргумент за опцију „--section-start“\n" -#: lexsup.c:1455 -msgid "%F%P: missing argument(s) to option \"--section-start\"\n" -msgstr "%F%P: недоÑтаје аргумент за опцију „--section-start“\n" +#: lexsup.c:1467 +msgid "%P: missing argument(s) to option \"--section-start\"\n" +msgstr "%P: недоÑтаје аргумент за опцију „--section-start“\n" -#: lexsup.c:1728 -msgid "%F%P: group ended before it began (--help for usage)\n" -msgstr "%F%P: група је завршена пре почетка („--help“ за коришћење)\n" +#: lexsup.c:1740 +msgid "%P: group ended before it began (--help for usage)\n" +msgstr "%P: група је завршена пре почетка („--help“ за коришћење)\n" -#: lexsup.c:1744 -msgid "%F%P: failed to add remap file %s\n" -msgstr "%F%P: ниÑам уÑпео да додам датотеку поновног мапирања „%s“\n" +#: lexsup.c:1756 +msgid "%P: failed to add remap file %s\n" +msgstr "%P: ниÑам уÑпео да додам датотеку поновног мапирања „%s“\n" #. FIXME: Should we allow --remap-inputs=@myfile as a synonym #. for --remap-inputs-file=myfile ? -#: lexsup.c:1753 -msgid "%F%P: invalid argument to option --remap-inputs\n" -msgstr "%F%P: неиÑправан аргумент за опцију „--remap-inputs“\n" +#: lexsup.c:1765 +msgid "%P: invalid argument to option --remap-inputs\n" +msgstr "%P: неиÑправан аргумент за опцију „--remap-inputs“\n" -#: lexsup.c:1774 -msgid "%F%P: invalid cache memory size: %s\n" -msgstr "%F%P: неиÑправна величина оÑтаве: %s\n" +#: lexsup.c:1786 +msgid "%P: invalid cache memory size: %s\n" +msgstr "%P: неиÑправна величина оÑтаве: %s\n" -#: lexsup.c:1788 +#: lexsup.c:1799 msgid "%X%P: --hash-size needs a numeric argument\n" msgstr "%X%P: „--hash-size“ је потребан бројевни аргумент\n" -#: lexsup.c:1800 -msgid "%F%P: no state pushed before popping\n" -msgstr "%F%P: ниједно Ñтање није погурано пре издизања\n" +#: lexsup.c:1811 +msgid "%P: no state pushed before popping\n" +msgstr "%P: ниједно Ñтање није погурано пре издизања\n" -#: lexsup.c:1823 -msgid "%F%P: invalid argument to option \"--orphan-handling\"\n" -msgstr "%F%P: неиÑправан аргумент за опцију „--orphan-handling“\n" +#: lexsup.c:1834 +msgid "%P: invalid argument to option \"--orphan-handling\"\n" +msgstr "%P: неиÑправан аргумент за опцију „--orphan-handling“\n" -#: lexsup.c:1861 -msgid "%F%P: bad --ctf-share-types option: %s\n" -msgstr "%F%P: лоша „--ctf-share-types“ опција: %s\n" +#: lexsup.c:1872 +msgid "%P: bad --ctf-share-types option: %s\n" +msgstr "%P: лоша „--ctf-share-types“ опција: %s\n" -#: lexsup.c:1878 +#: lexsup.c:1889 msgid "%P: no file/directory name provided for map output; ignored\n" msgstr "%P: није доÑтављен ниједан назив датотеке/директоријума за излаз мапе; занемарено\n" -#: lexsup.c:1906 +#: lexsup.c:1917 msgid "%P: cannot stat linker map file: %E\n" msgstr "%P: не могу да добавим податке датотеке мапе Ñвезача: %E\n" -#: lexsup.c:1917 +#: lexsup.c:1928 msgid "%P: linker map file is not a regular file\n" msgstr "%P: датотека мапе Ñвезача није обична датотека\n" -#: lexsup.c:1932 +#: lexsup.c:1943 msgid "%P: SONAME must not be empty string; ignored\n" msgstr "%P: „SONAME“ не Ñме бити празна ниÑка; занемарено\n" -#: lexsup.c:1938 +#: lexsup.c:1949 msgid "%P: missing --end-group; added as last command line option\n" msgstr "%P: недоÑтаје „--end-group“; додато је као поÑледња опција линије наредби\n" -#: lexsup.c:2047 -msgid "%F%P: -r and -z nosectionheader may not be used together\n" -msgstr "%F%P: „-r“ и „-z“ nosectionheader Ñе не могу кориÑтити заједно\n" +#: lexsup.c:2038 +msgid "%P: -r and -z nosectionheader may not be used together\n" +msgstr "%P: „-r“ и „-z“ nosectionheader Ñе не могу кориÑтити заједно\n" -#: lexsup.c:2055 -msgid "%F%P: -F may not be used without -shared\n" -msgstr "%F%P: „-F“ Ñе не може кориÑтити Ñа „-shared“\n" +#: lexsup.c:2046 +msgid "%P: -F may not be used without -shared\n" +msgstr "%P: „-F“ Ñе не може кориÑтити Ñа „-shared“\n" -#: lexsup.c:2057 -msgid "%F%P: -f may not be used without -shared\n" -msgstr "%F%P: „-f“ Ñе не може кориÑтити без „-shared“\n" +#: lexsup.c:2048 +msgid "%P: -f may not be used without -shared\n" +msgstr "%P: „-f“ Ñе не може кориÑтити без „-shared“\n" -#: lexsup.c:2098 lexsup.c:2111 -msgid "%F%P: invalid hex number `%s'\n" -msgstr "%F%P: неиÑправан хекÑадецимални број „%s“\n" +#: lexsup.c:2089 lexsup.c:2102 +msgid "%P: invalid hex number `%s'\n" +msgstr "%P: неиÑправан хекÑадецимални број „%s“\n" -#: lexsup.c:2141 +#: lexsup.c:2132 #, c-format msgid " --audit=AUDITLIB Specify a library to use for auditing\n" msgstr " --audit=БИБЛ_ÐÐДГЛЕДÐЊРÐаводи библиотеку која ће Ñе кориÑтити за надгледање\n" -#: lexsup.c:2143 +#: lexsup.c:2134 #, c-format msgid " -Bgroup Selects group name lookup rules for DSO\n" msgstr " -Bgroup Бира правила тражења назива групе за „DSO“\n" -#: lexsup.c:2145 +#: lexsup.c:2136 #, c-format msgid " --disable-new-dtags Disable new dynamic tags\n" msgstr " --disable-new-dtags Онемогућује нове динамичке ознаке\n" -#: lexsup.c:2147 +#: lexsup.c:2138 #, c-format msgid " --enable-new-dtags Enable new dynamic tags\n" msgstr " --enable-new-dtags Омогућује нове динамичке ознаке\n" -#: lexsup.c:2149 +#: lexsup.c:2140 #, c-format msgid " --eh-frame-hdr Create .eh_frame_hdr section\n" msgstr " --eh-frame-hdr Прави „.eh_frame_hdr“ одељак\n" -#: lexsup.c:2151 +#: lexsup.c:2142 #, c-format msgid " --no-eh-frame-hdr Do not create .eh_frame_hdr section\n" msgstr " --no-eh-frame-hdr Ðе прави „.eh_frame_hdrд одељак\n" -#: lexsup.c:2153 +#: lexsup.c:2144 #, c-format msgid " --exclude-libs=LIBS Make all symbols in LIBS hidden\n" msgstr " --exclude-libs=БИБЛЕ Чини Ñве Ñимболе у БИБЛИОТЕКÐМРÑкривеним\n" -#: lexsup.c:2155 +#: lexsup.c:2146 #, c-format msgid " --hash-style=STYLE Set hash style to sysv/gnu/both. Default: " msgstr " --hash-style=СТИЛ ПоÑтавља хеш Ñтил на ÑиÑв/гну/оба. ОÑновно: " -#: lexsup.c:2174 +#: lexsup.c:2165 #, c-format msgid "" " -P AUDITLIB, --depaudit=AUDITLIB\n" @@ -2457,17 +2461,17 @@ msgstr "" " -P БИБЛ_ÐÐДГЛЕДÐЊÐ, --depaudit=БИБЛ_ÐÐДГЛЕДÐЊÐ\n" " Ðаводи библиотеку која ће Ñе кориÑтити за надгледање завиÑноÑти\n" -#: lexsup.c:2177 +#: lexsup.c:2168 #, c-format msgid " -z combreloc Merge dynamic relocs into one section and sort\n" msgstr " -z combreloc Стапа динамичке премештаје у један одељак и ређа\n" -#: lexsup.c:2179 +#: lexsup.c:2170 #, c-format msgid " -z nocombreloc Don't merge dynamic relocs into one section\n" msgstr " -z nocombreloc Ðе Ñтапа динамичке премештаје у један одељак\n" -#: lexsup.c:2181 +#: lexsup.c:2172 #, c-format msgid "" " -z global Make symbols in DSO available for subsequently\n" @@ -2476,67 +2480,67 @@ msgstr "" " -z global Чини Ñимболе у „DSO“ доÑтупним за накнадно\n" " учитане објекте\n" -#: lexsup.c:2184 +#: lexsup.c:2175 #, c-format msgid " -z initfirst Mark DSO to be initialized first at runtime\n" msgstr " -z initfirst Означава „DSO“ да буде први покренут у време извршења\n" -#: lexsup.c:2186 +#: lexsup.c:2177 #, c-format msgid " -z interpose Mark object to interpose all DSOs but executable\n" msgstr " -z interpose Означава објекте да уметну Ñве „DSO“-ове оÑим извршне\n" -#: lexsup.c:2188 +#: lexsup.c:2179 #, c-format msgid " -z unique Mark DSO to be loaded at most once by default, and only in the main namespace\n" msgstr " -z unique Означава „DSO за учитавање највише једном по оÑнови, и Ñамо у главном називном проÑтору\n" -#: lexsup.c:2190 +#: lexsup.c:2181 #, c-format msgid " -z nounique Don't mark DSO as a loadable at most once\n" msgstr " -z nounique Ðе означава „DSO“ за учитавање највише једном\n" -#: lexsup.c:2192 +#: lexsup.c:2183 #, c-format msgid " -z lazy Mark object lazy runtime binding (default)\n" msgstr " -z lazy Означава лењо време извршења увезивања објекта (оÑновно)\n" -#: lexsup.c:2194 +#: lexsup.c:2185 #, c-format msgid " -z loadfltr Mark object requiring immediate process\n" msgstr " -z loadfltr Означава објекте да захтевају моменталну обраду\n" -#: lexsup.c:2196 +#: lexsup.c:2187 #, c-format msgid " -z nocopyreloc Don't create copy relocs\n" msgstr " -z nocopyreloc Ðе Ñтвара умножак премештаја\n" -#: lexsup.c:2198 +#: lexsup.c:2189 #, c-format msgid " -z nodefaultlib Mark object not to use default search paths\n" msgstr " -z nodefaultlib Означава објекат да не кориÑти оÑновне путање претраге\n" -#: lexsup.c:2200 +#: lexsup.c:2191 #, c-format msgid " -z nodelete Mark DSO non-deletable at runtime\n" msgstr " -z nodelete Означава „DSO“ необриÑивим у време извршења\n" -#: lexsup.c:2202 +#: lexsup.c:2193 #, c-format msgid " -z nodlopen Mark DSO not available to dlopen\n" msgstr " -z nodlopen Означава „DSO“ недоÑтупним за „dlopen“\n" -#: lexsup.c:2204 +#: lexsup.c:2195 #, c-format msgid " -z nodump Mark DSO not available to dldump\n" msgstr " -z nodump Означава „DSO“ недоÑтупним за „dldump“\n" -#: lexsup.c:2206 +#: lexsup.c:2197 #, c-format msgid " -z now Mark object non-lazy runtime binding\n" msgstr " -z now Означава не лењо време извршења увезивања објекта\n" -#: lexsup.c:2208 +#: lexsup.c:2199 #, c-format msgid "" " -z origin Mark object requiring immediate $ORIGIN\n" @@ -2545,147 +2549,147 @@ msgstr "" " -z origin Означава објекат да захтева тренутну „$ORIGIN“\n" " обраду у време извршавања\n" -#: lexsup.c:2212 +#: lexsup.c:2203 #, c-format msgid " -z relro Create RELRO program header (default)\n" msgstr " -z relro Ствара „RELRO“ заглавље програма (оÑновно)\n" -#: lexsup.c:2214 +#: lexsup.c:2205 #, c-format msgid " -z norelro Don't create RELRO program header\n" msgstr " -z norelro Ðе Ñтвара „RELRO“ заглавље програма\n" -#: lexsup.c:2217 +#: lexsup.c:2208 #, c-format msgid " -z relro Create RELRO program header\n" msgstr " -z relro Ствара „RELRO“ заглавље програма\n" -#: lexsup.c:2219 +#: lexsup.c:2210 #, c-format msgid " -z norelro Don't create RELRO program header (default)\n" msgstr " -z norelro Ðе Ñтвара „RELRO“ заглавље програма (оÑновно)\n" -#: lexsup.c:2223 +#: lexsup.c:2214 #, c-format msgid " -z separate-code Create separate code program header (default)\n" msgstr " -z separate-code Ствара одвојено заглавље програма кода (оÑновно)\n" -#: lexsup.c:2225 +#: lexsup.c:2216 #, c-format msgid " -z noseparate-code Don't create separate code program header\n" msgstr " -z noseparate-code Ðе Ñтвара одвојено заглавље програма кода\n" -#: lexsup.c:2228 +#: lexsup.c:2219 #, c-format msgid " -z separate-code Create separate code program header\n" msgstr " -z separate-code Ствара одвојено заглавље програма кода\n" -#: lexsup.c:2230 +#: lexsup.c:2221 #, c-format msgid " -z noseparate-code Don't create separate code program header (default)\n" msgstr " -z noseparate-code Ðе Ñтвара одвојено заглавље програма кода (оÑновно)\n" -#: lexsup.c:2234 +#: lexsup.c:2225 #, c-format msgid " --rosegment With -z separate-code, create a single read-only segment (default)\n" msgstr " --rosegment Са -z раздвојеним кÈдом, Ñтвара један подеок Ñамо за читање (оÑновно)\n" -#: lexsup.c:2236 +#: lexsup.c:2227 #, c-format msgid " --no-rosegment With -z separate-code, creste two read-only segments\n" msgstr " --no-rosegment Са -z раздвојеним кÈдом, Ñтвара два подеока Ñамо за читање\n" -#: lexsup.c:2239 +#: lexsup.c:2230 #, c-format msgid " --rosegment With -z separate-code, create a single read-only segment\n" msgstr " --rosegment Са -z раздвојеним кÈдом, Ñтвара један подеок Ñамо за читање\n" -#: lexsup.c:2241 +#: lexsup.c:2232 #, c-format msgid " --no-rosegment With -z separate-code, creste two read-only segments (default)\n" msgstr " --no-rosegment Са -z раздвојеним кÈдом, Ñтвара два подеока Ñамо за читање (оÑновно)\n" -#: lexsup.c:2244 +#: lexsup.c:2235 #, c-format msgid " -z common Generate common symbols with STT_COMMON type\n" msgstr " -z common Ствара опште Ñимболе Ñа „STT_COMMON“ врÑтом\n" -#: lexsup.c:2246 +#: lexsup.c:2237 #, c-format msgid " -z nocommon Generate common symbols with STT_OBJECT type\n" msgstr " -z nocommon Ствара опште Ñимболе Ñа „STT_OBJECT“ врÑтом\n" -#: lexsup.c:2249 +#: lexsup.c:2240 #, c-format msgid " -z text Treat DT_TEXTREL in output as error (default)\n" msgstr " -z текÑÑ‚ Сматра грешком „DT_TEXTREL“ у излазу (оÑновно)\n" -#: lexsup.c:2252 +#: lexsup.c:2243 #, c-format msgid " -z text Treat DT_TEXTREL in output as error\n" msgstr " -z текÑÑ‚ Сматра грешком „DT_TEXTREL“ у излазу\n" -#: lexsup.c:2256 +#: lexsup.c:2247 #, c-format msgid " -z notext Don't treat DT_TEXTREL in output as error (default)\n" msgstr " -z без-текÑта Ðе Ñматра грешком „DT_TEXTREL“ у излазу (оÑновно)\n" -#: lexsup.c:2258 +#: lexsup.c:2249 #, c-format msgid " -z textoff Don't treat DT_TEXTREL in output as error (default)\n" msgstr " -z иÑкљ-текÑÑ‚ Ðе Ñматра грешком „DT_TEXTREL“ у излазу (оÑновно)\n" -#: lexsup.c:2263 +#: lexsup.c:2254 #, c-format msgid " -z notext Don't treat DT_TEXTREL in output as error\n" msgstr " -z без-текÑта Ðе Ñматра грешком „DT_TEXTREL“ у излазу\n" -#: lexsup.c:2265 +#: lexsup.c:2256 #, c-format msgid " -z textoff Don't treat DT_TEXTREL in output as error\n" msgstr " -z иÑкљ-текÑÑ‚ Ðе Ñматра грешком „DT_TEXTREL“ у излазу\n" -#: lexsup.c:2269 +#: lexsup.c:2260 #, c-format msgid " -z memory-seal Mark object be memory sealed (default)\n" msgstr " -z memory-seal Означава објект да је запечаћен меморијом (оÑновно)\n" -#: lexsup.c:2271 +#: lexsup.c:2262 #, c-format msgid " -z nomemory-seal Don't mark oject to be memory sealed\n" msgstr " -z nomemory-seal Ðе означава објект да је запечаћен меморијом\n" -#: lexsup.c:2274 +#: lexsup.c:2265 #, c-format msgid " -z memory-seal Mark object be memory sealed\n" msgstr " -z memory-seal Означава објект да је запечаћен меморијом\n" -#: lexsup.c:2276 +#: lexsup.c:2267 #, c-format msgid " -z nomemory-seal Don't mark oject to be memory sealed (default)\n" msgstr " -z nomemory-seal Ðе означава објект да је запечаћен меморијом (оÑновно)\n" -#: lexsup.c:2284 +#: lexsup.c:2275 #, c-format msgid " --build-id[=STYLE] Generate build ID note\n" msgstr " --build-id[=СТИЛ] Ствара напомену ИБ-а изградње\n" -#: lexsup.c:2288 +#: lexsup.c:2279 #, c-format msgid " Styles: none,md5,sha1,xx,uuid,0xHEX\n" msgstr " Стилови: none,md5,sha1,xx,uuid,0xHEX\n" -#: lexsup.c:2292 +#: lexsup.c:2283 #, c-format msgid " Styles: none,md5,sha1,uuid,0xHEX\n" msgstr " Стилови: none,md5,sha1,uuid,0xHEX\n" -#: lexsup.c:2295 +#: lexsup.c:2286 #, c-format msgid " --package-metadata[=JSON] Generate package metadata note\n" msgstr " --package-metadata[=JSON] Ствара белешку метаподатака пакета\n" -#: lexsup.c:2297 +#: lexsup.c:2288 #, c-format msgid "" " --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi|zstd]\n" @@ -2694,142 +2698,142 @@ msgstr "" " --compress-debug-sections=[ништа|zlib|zlib-gnu|zlib-gabi|zstd]\n" "\t\t\t Сажима DWARF одељке прочишћавања\n" -#: lexsup.c:2300 +#: lexsup.c:2291 #, c-format msgid " Default: %s\n" msgstr " ОÑновно: %s\n" -#: lexsup.c:2303 +#: lexsup.c:2294 #, c-format msgid " -z common-page-size=SIZE Set common page size to SIZE\n" msgstr " -z common-page-size=ВЕЛЧ ПоÑтавља општу величину Ñтранице на „ВЕЛИЧИÐУ“\n" -#: lexsup.c:2305 +#: lexsup.c:2296 #, c-format msgid " -z max-page-size=SIZE Set maximum page size to SIZE\n" msgstr " -z max-page-size=ВЕЛЧ ПоÑтавља највећу величину Ñтранице на „ВЕЛИЧИÐУ“\n" -#: lexsup.c:2307 +#: lexsup.c:2298 #, c-format msgid " -z defs Report unresolved symbols in object files\n" msgstr " -z defs Пријављује нерешене Ñимболе у ојкетним датотекама\n" -#: lexsup.c:2309 +#: lexsup.c:2300 #, c-format msgid " -z undefs Ignore unresolved symbols in object files\n" msgstr " -z undefs Занемарује нерешене Ñимболе у датотекама објекта\n" -#: lexsup.c:2311 +#: lexsup.c:2302 #, c-format msgid " -z muldefs Allow multiple definitions\n" msgstr " -z muldefs Допушта више дефиниција\n" -#: lexsup.c:2313 +#: lexsup.c:2304 #, c-format msgid " -z stack-size=SIZE Set size of stack segment\n" msgstr " -z stack-size=ВЕЛИЧИÐРПоÑтавља величину подеока Ñпремника\n" -#: lexsup.c:2316 +#: lexsup.c:2307 #, c-format msgid " -z execstack Mark executable as requiring executable stack\n" msgstr " -z execstack Означава извршну као да захтева извршни Ñпремник\n" -#: lexsup.c:2318 +#: lexsup.c:2309 #, c-format msgid " -z noexecstack Mark executable as not requiring executable stack\n" msgstr " -z noexecstack Означава извршну као да не захтева извршни Ñпремник\n" -#: lexsup.c:2320 +#: lexsup.c:2311 #, c-format msgid " --warn-execstack-objects Generate a warning if an object file requests an executable stack\n" msgstr " --warn-execstack-objects Ствара упозорење ако датотека објекта захтева извршив Ñпремник\n" -#: lexsup.c:2323 +#: lexsup.c:2314 #, c-format msgid " --warn-execstack Generate a warning if creating an executable stack\n" msgstr " --warn-execstack Ствара упозорење ако Ñтвара извршив Ñпремник\n" -#: lexsup.c:2326 +#: lexsup.c:2317 #, c-format msgid " --warn-execstack Generate a warning if creating an executable stack (default)\n" msgstr " --warn-execstack Ствара упозорење ако Ñтвара извршив Ñпремник (оÑновно)\n" -#: lexsup.c:2330 +#: lexsup.c:2321 #, c-format msgid " --no-warn-execstack Do not generate a warning if creating an executable stack (default)\n" msgstr " --no-warn-execstack Ðе Ñтвара упозорење ако Ñтвара извршив Ñпремник (оÑновно)\n" -#: lexsup.c:2333 +#: lexsup.c:2324 #, c-format msgid " --no-warn-execstack Do not generate a warning if creating an executable stack\n" msgstr " --no-warn-execstack Ðе Ñтвара упозорење ако Ñтвара извршив Ñпремник\n" -#: lexsup.c:2336 +#: lexsup.c:2327 #, c-format msgid " --error-execstack Turn warnings about executable stacks into errors\n" msgstr " --error-execstack Преобраћа упозорења о извршним Ñпремницима у грешке\n" -#: lexsup.c:2338 +#: lexsup.c:2329 #, c-format msgid " --no-error-execstack Do not turn warnings about executable stacks into errors\n" msgstr " --no-error-execstack Ðе преобраћа упозорења о извршним Ñпремницима у грешке\n" -#: lexsup.c:2342 +#: lexsup.c:2333 #, c-format msgid " --warn-rwx-segments Generate a warning if a LOAD segment has RWX permissions (default)\n" msgstr " --warn-rwx-segments Ствара упозорење ако „LOAD“ Ñегмент има „RWX“ дозволе (оÑновно)\n" -#: lexsup.c:2344 +#: lexsup.c:2335 #, c-format msgid " --no-warn-rwx-segments Do not generate a warning if a LOAD segments has RWX permissions\n" msgstr " --no-warn-rwx-segments Ðе Ñтвара упозорење ако „LOAD“ Ñегмент има „RWX“ дозволе\n" -#: lexsup.c:2347 +#: lexsup.c:2338 #, c-format msgid " --warn-rwx-segments Generate a warning if a LOAD segment has RWX permissions\n" msgstr " --warn-rwx-segments Ствара упозорење ако „LOAD“ Ñегмент има „RWX“ дозволе\n" -#: lexsup.c:2349 +#: lexsup.c:2340 #, c-format msgid " --no-warn-rwx-segments Do not generate a warning if a LOAD segments has RWX permissions (default)\n" msgstr " --no-warn-rwx-segments Ðе Ñтвара упозорење ако „LOAD“ Ñегмент има „RWX“ дозволе (оÑновно)\n" -#: lexsup.c:2352 +#: lexsup.c:2343 #, c-format msgid " --error-rwx-segments Turn warnings about loadable RWX segments into errors\n" msgstr " --error-rwx-segments Преобраћа упозорења о отпремивим RWX одломцима у грешке\n" -#: lexsup.c:2354 +#: lexsup.c:2345 #, c-format msgid " --no-error-rwx-segments Do not turn warnings about loadable RWX segments into errors\n" msgstr " --no-error-rwx-segments Ðе претвара упозорења о отпремивим RWX одломцима у грешке\n" -#: lexsup.c:2357 +#: lexsup.c:2348 #, c-format msgid " -z unique-symbol Avoid duplicated local symbol names\n" msgstr " -z unique-symbol Избегава удвоÑтручене локалне називе Ñимбола\n" -#: lexsup.c:2359 +#: lexsup.c:2350 #, c-format msgid " -z nounique-symbol Keep duplicated local symbol names (default)\n" msgstr " -z nounique-symbol Задржава удвоÑтручене локалне називе Ñимбола (оÑновно)\n" -#: lexsup.c:2361 +#: lexsup.c:2352 #, c-format msgid " -z globalaudit Mark executable requiring global auditing\n" msgstr " -z globalaudit Означава извршне који захтевају опште надгледање\n" -#: lexsup.c:2363 +#: lexsup.c:2354 #, c-format msgid " -z start-stop-gc Enable garbage collection on __start/__stop\n" msgstr " -z start-stop-gc Укључује Ñкупљање Ñмећа на „__start/__stop“\n" -#: lexsup.c:2365 +#: lexsup.c:2356 #, c-format msgid " -z nostart-stop-gc Don't garbage collect __start/__stop (default)\n" msgstr " -z nostart-stop-gc Ðе Ñкупља Ñмеће на „__start/__stop“ (оÑновно)\n" -#: lexsup.c:2367 +#: lexsup.c:2358 #, c-format msgid "" " -z start-stop-visibility=V Set visibility of built-in __start/__stop symbols\n" @@ -2838,22 +2842,22 @@ msgstr "" " -z start-stop-visibility=V ПоÑтавља видљивоÑÑ‚ уграђених „__start/__stop“ Ñимбола\n" " на „DEFAULT“, „PROTECTED“, „HIDDEN“ или „INTERNAL“\n" -#: lexsup.c:2370 +#: lexsup.c:2361 #, c-format msgid " -z sectionheader Generate section header (default)\n" msgstr " -z sectionheader Ствара заглавље одељка (оÑновно)\n" -#: lexsup.c:2372 +#: lexsup.c:2363 #, c-format msgid " -z nosectionheader Do not generate section header\n" msgstr " -z nosectionheader Ðе Ñтвара заглавље одељка\n" -#: lexsup.c:2379 +#: lexsup.c:2370 #, c-format msgid " --ld-generated-unwind-info Generate exception handling info for PLT\n" msgstr " --ld-generated-unwind-info Ствара податке руковања изузетком за „PLT“\n" -#: lexsup.c:2381 +#: lexsup.c:2372 #, c-format msgid "" " --no-ld-generated-unwind-info\n" @@ -2862,56 +2866,56 @@ msgstr "" " --no-ld-generated-unwind-info\n" " Ðе Ñтвара податке руковања изузетком за „PLT“\n" -#: lexsup.c:2391 +#: lexsup.c:2382 #, c-format msgid "ELF emulations:\n" msgstr "„ELF“ емулације:\n" -#: lexsup.c:2409 +#: lexsup.c:2400 #, c-format msgid "Usage: %s [options] file...\n" msgstr "Употреба: %s [опције] датотека...\n" -#: lexsup.c:2411 +#: lexsup.c:2402 #, c-format msgid "Options:\n" msgstr "Опције:\n" -#: lexsup.c:2489 +#: lexsup.c:2480 #, c-format msgid " @FILE" msgstr " @ДÐТОТЕКÐ" -#: lexsup.c:2492 +#: lexsup.c:2483 #, c-format msgid "Read options from FILE\n" msgstr " Чита опције из ДÐТОТЕКЕ\n" #. Note: Various tools (such as libtool) depend upon the #. format of the listings below - do not change them. -#: lexsup.c:2497 +#: lexsup.c:2488 #, c-format msgid "%s: supported targets:" msgstr "%s: подржане мете:" -#: lexsup.c:2505 +#: lexsup.c:2496 #, c-format msgid "%s: supported emulations: " msgstr "%s: подржане емулације: " -#: lexsup.c:2510 +#: lexsup.c:2501 #, c-format msgid "%s: emulation specific options:\n" msgstr "%s: поÑебне опције емулације:\n" -#: lexsup.c:2517 +#: lexsup.c:2508 #, c-format msgid "Report bugs to %s\n" msgstr "Грешке пријавите на „%s“\n" #: mri.c:291 -msgid "%F%P: unknown format type %s\n" -msgstr "%F%P: непозната врÑта формата „%s“\n" +msgid "%P: unknown format type %s\n" +msgstr "%P: непозната врÑта формата „%s“\n" #: pdb.c:845 pdb.c:1136 msgid "%P: CodeView symbol references out of range type %v\n" @@ -3341,46 +3345,46 @@ msgstr "%P: упозорење: не могу да попуним јавни тРmsgid "%P: warning: cannot populate info stream in PDB file: %E\n" msgstr "%P: упозорење: не могу да попуним инфо ток у PDB датотеци: %E\n" -#: pe-dll.c:480 +#: pe-dll.c:483 msgid "%X%P: unsupported PEI architecture: %s\n" msgstr "%X%P: неподржана ПЕИ архитектура: %s\n" -#: pe-dll.c:869 +#: pe-dll.c:872 msgid "%X%P: cannot export %s: invalid export name\n" msgstr "%X%P: не могу да извезем „%s“: неиÑправан назив извоза\n" -#: pe-dll.c:921 +#: pe-dll.c:924 #, c-format msgid "%X%P: error, duplicate EXPORT with ordinals: %s (%d vs %d)\n" msgstr "%X%P: грешка, удвоÑтручени ИЗВОЗ Ñа редним бројевима: %s (%d vs %d)\n" -#: pe-dll.c:928 +#: pe-dll.c:931 #, c-format msgid "%P: warning, duplicate EXPORT: %s\n" msgstr "%P: упозорење, удвоÑтручено „ИЗВЕЗИ“: %s\n" -#: pe-dll.c:1035 +#: pe-dll.c:1038 #, c-format msgid "%X%P: cannot export %s: symbol not defined\n" msgstr "%X%P: не могу да извезем „%s“: Ñимбол није дефиниÑан\n" -#: pe-dll.c:1041 +#: pe-dll.c:1044 #, c-format msgid "%X%P: cannot export %s: symbol wrong type (%d vs %d)\n" msgstr "%X%P: не могу да извезем „%s“: погрешна врÑта Ñимбола (%d vs %d)\n" -#: pe-dll.c:1048 +#: pe-dll.c:1051 #, c-format msgid "%X%P: cannot export %s: symbol not found\n" msgstr "%X%P: не могу да извезем „%s“: ниÑам нашао Ñимбол\n" -#: pe-dll.c:1072 eaarch64cloudabi.c:370 eaarch64cloudabib.c:370 -#: eaarch64elf.c:369 eaarch64elf32.c:369 eaarch64elf32b.c:369 -#: eaarch64elfb.c:369 eaarch64fbsd.c:370 eaarch64fbsdb.c:370 -#: eaarch64haiku.c:370 eaarch64linux.c:370 eaarch64linux32.c:370 -#: eaarch64linux32b.c:370 eaarch64linuxb.c:370 eaarch64nto.c:370 -#: eaix5ppc.c:1632 eaix5ppc.c:1642 eaix5rs6.c:1632 eaix5rs6.c:1642 -#: eaixppc.c:1632 eaixppc.c:1642 eaixrs6.c:1632 eaixrs6.c:1642 earmelf.c:572 +#: pe-dll.c:1075 eaarch64cloudabi.c:376 eaarch64cloudabib.c:376 +#: eaarch64elf.c:376 eaarch64elf32.c:376 eaarch64elf32b.c:376 +#: eaarch64elfb.c:376 eaarch64fbsd.c:376 eaarch64fbsdb.c:376 +#: eaarch64haiku.c:376 eaarch64linux.c:376 eaarch64linux32.c:376 +#: eaarch64linux32b.c:376 eaarch64linuxb.c:376 eaarch64nto.c:376 +#: eaix5ppc.c:1631 eaix5ppc.c:1641 eaix5rs6.c:1631 eaix5rs6.c:1641 +#: eaixppc.c:1631 eaixppc.c:1641 eaixrs6.c:1631 eaixrs6.c:1641 earmelf.c:572 #: earmelf_fbsd.c:572 earmelf_fuchsia.c:573 earmelf_haiku.c:573 #: earmelf_linux.c:573 earmelf_linux_eabi.c:573 earmelf_linux_fdpiceabi.c:573 #: earmelf_nacl.c:573 earmelf_nbsd.c:572 earmelf_phoenix.c:573 @@ -3399,100 +3403,100 @@ msgstr "%X%P: не могу да извезем „%s“: ниÑам нашао #: eelf64lppc_fbsd.c:122 eelf64ltsmip.c:175 eelf64ltsmip_fbsd.c:175 #: eelf64ppc.c:122 eelf64ppc_fbsd.c:122 eelf_mipsel_haiku.c:175 ehppaelf.c:113 #: ehppalinux.c:113 ehppanbsd.c:113 ehppaobsd.c:113 em68hc11elf.c:173 -#: em68hc11elfb.c:173 em68hc12elf.c:173 em68hc12elfb.c:173 eppcmacos.c:1632 -#: eppcmacos.c:1642 -msgid "%F%P: can not create BFD: %E\n" -msgstr "%F%P: не могу да направим „BFD“: %E\n" +#: em68hc11elfb.c:173 em68hc12elf.c:173 em68hc12elfb.c:173 eppcmacos.c:1631 +#: eppcmacos.c:1641 +msgid "%P: can not create BFD: %E\n" +msgstr "%P: не могу да направим „BFD“: %E\n" -#: pe-dll.c:1086 +#: pe-dll.c:1089 msgid "%X%P: can not create .edata section: %E\n" msgstr "%X%P: не могу да направим „.edata“ одељак: %E\n" -#: pe-dll.c:1100 +#: pe-dll.c:1103 msgid "%X%P: can not create .reloc section: %E\n" msgstr "%X%P: не могу да направим „.reloc“ одељак: %E\n" -#: pe-dll.c:1149 +#: pe-dll.c:1152 #, c-format msgid "%X%P: error: ordinal used twice: %d (%s vs %s)\n" msgstr "%X%P: грешка, редни број је коришћен два пута: %d (%s vs %s)\n" -#: pe-dll.c:1185 +#: pe-dll.c:1188 #, c-format msgid "%X%P: error: export ordinal too large: %d\n" msgstr "%X%P: грешка: извоз редног броја је превелик: %d\n" -#: pe-dll.c:1511 +#: pe-dll.c:1514 #, c-format msgid "Info: resolving %s by linking to %s (auto-import)\n" msgstr "Инфо: решавам „%s“ повезивањем на „%s“ (ÑамоÑтални увоз)\n" -#: pe-dll.c:1517 +#: pe-dll.c:1520 msgid "%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line; this should work unless it involves constant data structures referencing symbols from auto-imported DLLs\n" msgstr "%P: упозорење: ÑамоÑтални увоз је активиран без наведеног „--enable-auto-import“ на линији наредби; ово би требало да ради оÑим ако не умеша и конÑтантне Ñтруктуре података које упућују на Ñимболе из ÑамоÑтално увезених „DLLs“-а\n" -#: pe-dll.c:1680 +#: pe-dll.c:1684 msgid "%P: base relocation for section `%s' above .reloc section\n" msgstr "%P: премештај оÑнове за одељак „%s“ изнад „.reloc“ одељка\n" -#: pe-dll.c:1730 +#: pe-dll.c:1734 #, c-format msgid "%X%P: error: %d-bit reloc in dll\n" msgstr "%X%P: грешка: %d-битно премештање у „dll“-у\n" -#: pe-dll.c:1856 +#: pe-dll.c:1860 #, c-format msgid "%P: can't open output def file %s\n" msgstr "%P: не могу да отворим излазну датотеку дефиниције „%s“\n" -#: pe-dll.c:2005 +#: pe-dll.c:2009 #, c-format msgid "; no contents available\n" msgstr "; Ñадржај није доÑтупан\n" -#: pe-dll.c:2364 +#: pe-dll.c:2368 msgid "%P: error: NULL decorated name for %s\n" msgstr "%P: грешка: ÐИШТРукрашени назив за „%s“\n" -#: pe-dll.c:2899 +#: pe-dll.c:2903 msgid "%X%P: %H: variable '%pT' can't be auto-imported; please read the documentation for ld's --enable-auto-import for details\n" msgstr "%X%P: %H: променљива „%pT“ Ñе не може Ñама увеÑти; прочитајте документацију за опцију „--enable-auto-import“\n" -#: pe-dll.c:2920 +#: pe-dll.c:2924 #, c-format msgid "%X%P: can't open .lib file: %s\n" msgstr "%X%P: не могу да отворим датотеку „.lib“: %s\n" -#: pe-dll.c:2926 +#: pe-dll.c:2930 #, c-format msgid "Creating library file: %s\n" msgstr "Правим датотеку библиотеке: %s\n" -#: pe-dll.c:2956 +#: pe-dll.c:2960 msgid "%X%P: bfd_openr %s: %E\n" msgstr "%X%P: „bfd_openr“ „%s“: %E\n" -#: pe-dll.c:2968 +#: pe-dll.c:2972 msgid "%X%P: %s(%s): can't find member in non-archive file" msgstr "%X%P: %s(%s): не могу наћи члана у датотеци која није архива" -#: pe-dll.c:2982 +#: pe-dll.c:2986 msgid "%X%P: %s(%s): can't find member in archive" msgstr "%X%P: %s(%s): не могу наћи члана у архиви" -#: pe-dll.c:3239 +#: pe-dll.c:3243 msgid "%X%P: add symbols %s: %E\n" msgstr "%X%P: додајем Ñимболе „%s“: %E\n" -#: pe-dll.c:3450 +#: pe-dll.c:3454 msgid "%X%P: open %s: %E\n" msgstr "%X%P: отварам „%s“: %E\n" -#: pe-dll.c:3460 +#: pe-dll.c:3464 msgid "%X%P: %s: this doesn't appear to be a DLL\n" msgstr "%X%P: %s: ово не изгледа као да је „DLL“\n" -#: pe-dll.c:3680 +#: pe-dll.c:3684 msgid "%X%P: error: can't use long section names on this arch\n" msgstr "%X%P: грешка: не могу да кориÑтим дуге називе одељака на овој архитектури\n" @@ -3500,88 +3504,88 @@ msgstr "%X%P: грешка: не могу да кориÑтим дуге назРmsgid "<no plugin>" msgstr "<нема прикључка>" -#: plugin.c:255 plugin.c:1137 -msgid "%F%P: %s: error loading plugin: %s\n" -msgstr "%F%P: %s: грешка учитавања прикључка: %s\n" +#: plugin.c:255 plugin.c:1139 +msgid "%P: %s: error loading plugin: %s\n" +msgstr "%P: %s: грешка учитавања прикључка: %s\n" #: plugin.c:262 msgid "%P: %s: duplicated plugin\n" msgstr "%P: %s: удвоÑтручени прикључак\n" #: plugin.c:346 -msgid "%F%P: could not create dummy IR bfd: %E\n" -msgstr "%F%P: не могу да направим лажни ИРбфд: %E\n" +msgid "%P: could not create dummy IR bfd: %E\n" +msgstr "%P: не могу да направим лажни ИРбфд: %E\n" -#: plugin.c:427 -msgid "%F%P: %s: non-ELF symbol in ELF BFD!\n" -msgstr "%F%P: %s: не-„ELF“ Ñимбол у „ELF BFD“!\n" +#: plugin.c:428 +msgid "%P: %s: non-ELF symbol in ELF BFD!\n" +msgstr "%P: %s: не-„ELF“ Ñимбол у „ELF BFD“!\n" -#: plugin.c:438 -msgid "%F%P: unknown ELF symbol visibility: %d!\n" -msgstr "%F%P: непозната видљивоÑÑ‚ „ELF“ Ñимбола: %d!\n" +#: plugin.c:439 +msgid "%P: unknown ELF symbol visibility: %d!\n" +msgstr "%P: непозната видљивоÑÑ‚ „ELF“ Ñимбола: %d!\n" -#: plugin.c:560 -msgid "%F%P: unsupported input file size: %s (%ld bytes)\n" -msgstr "%F%P: неподржана величина улазне датотеке: %s (%ld бајта)\n" +#: plugin.c:561 +msgid "%P: unsupported input file size: %s (%ld bytes)\n" +msgstr "%P: неподржана величина улазне датотеке: %s (%ld бајта)\n" -#: plugin.c:705 +#: plugin.c:706 #, c-format msgid "unknown LTO kind value %x" msgstr "непозната „LTO“ врÑта вредноÑти „%x“" -#: plugin.c:731 +#: plugin.c:732 #, c-format msgid "unknown LTO resolution value %x" msgstr "непозната вредноÑÑ‚ „LTO“ резолуције „%x“" -#: plugin.c:751 +#: plugin.c:752 #, c-format msgid "unknown LTO visibility value %x" msgstr "непозната вредноÑÑ‚ „LTO“ видљивоÑти „%x“" #. We should not have a new, indirect or warning symbol here. -#: plugin.c:836 -msgid "%F%P: %s: plugin symbol table corrupt (sym type %d)\n" -msgstr "%F%P: %s: табела Ñимбола прикључка је оштећена (врÑта Ñимбола „%d“)\n" +#: plugin.c:837 +msgid "%P: %s: plugin symbol table corrupt (sym type %d)\n" +msgstr "%P: %s: табела Ñимбола прикључка је оштећена (врÑта Ñимбола „%d“)\n" -#: plugin.c:901 +#: plugin.c:902 msgid "%P: %pB: symbol `%s' definition: %s, visibility: %s, resolution: %s\n" msgstr "%P: %pB: дефиниција Ñимбола „%s“: %s, видљивоÑÑ‚: %s, резолуција: %s\n" -#: plugin.c:978 +#: plugin.c:979 msgid "%P: warning: " msgstr "%P: упозорење: " #: plugin.c:989 -msgid "%P: error: " -msgstr "%P: грешка: " +msgid "%X%P: error: " +msgstr "%X%P: грешка: " -#: plugin.c:1144 -msgid "%F%P: %s: plugin error: %d\n" -msgstr "%F%P: %s: грешка прикључка: %d\n" +#: plugin.c:1146 +msgid "%P: %s: plugin error: %d\n" +msgstr "%P: %s: грешка прикључка: %d\n" -#: plugin.c:1208 -msgid "%F%P: plugin_strdup failed to allocate memory: %s\n" -msgstr "%F%P: „plugin_strdup“ није уÑпео да додели меморију: %s\n" +#: plugin.c:1210 +msgid "%P: plugin_strdup failed to allocate memory: %s\n" +msgstr "%P: „plugin_strdup“ није уÑпео да додели меморију: %s\n" -#: plugin.c:1250 -msgid "%F%P: plugin failed to allocate memory for input: %s\n" -msgstr "%F%P: прикључак није уÑпео да додели меморију за улаз: %s\n" +#: plugin.c:1252 +msgid "%P: plugin failed to allocate memory for input: %s\n" +msgstr "%P: прикључак није уÑпео да додели меморију за улаз: %s\n" -#: plugin.c:1279 -msgid "%F%P: %s: plugin reported error claiming file\n" -msgstr "%F%P: %s: прикључак је извеÑтио грешку захтевајући датотеку\n" +#: plugin.c:1281 +msgid "%P: %s: plugin reported error claiming file\n" +msgstr "%P: %s: прикључак је извеÑтио грешку захтевајући датотеку\n" -#: plugin.c:1401 +#: plugin.c:1403 msgid "%P: %s: error in plugin cleanup: %d (ignored)\n" msgstr "%P: %s: грешка у чишћењу прикључка: %d (ignored)\n" -#: eaarch64cloudabi.c:237 eaarch64cloudabib.c:237 eaarch64elf.c:236 -#: eaarch64elf32.c:236 eaarch64elf32b.c:236 eaarch64elfb.c:236 -#: eaarch64fbsd.c:237 eaarch64fbsdb.c:237 eaarch64haiku.c:237 -#: eaarch64linux.c:237 eaarch64linux32.c:237 eaarch64linux32b.c:237 -#: eaarch64linuxb.c:237 eaarch64nto.c:237 eaix5ppc.c:1097 eaix5rs6.c:1097 -#: eaixppc.c:1097 eaixrs6.c:1097 earmelf.c:299 earmelf_fbsd.c:299 +#: eaarch64cloudabi.c:242 eaarch64cloudabib.c:242 eaarch64elf.c:242 +#: eaarch64elf32.c:242 eaarch64elf32b.c:242 eaarch64elfb.c:242 +#: eaarch64fbsd.c:242 eaarch64fbsdb.c:242 eaarch64haiku.c:242 +#: eaarch64linux.c:242 eaarch64linux32.c:242 eaarch64linux32b.c:242 +#: eaarch64linuxb.c:242 eaarch64nto.c:242 eaix5ppc.c:1096 eaix5rs6.c:1096 +#: eaixppc.c:1096 eaixrs6.c:1096 earmelf.c:299 earmelf_fbsd.c:299 #: earmelf_fuchsia.c:300 earmelf_haiku.c:300 earmelf_linux.c:300 #: earmelf_linux_eabi.c:300 earmelf_linux_fdpiceabi.c:300 earmelf_nacl.c:300 #: earmelf_nbsd.c:299 earmelf_phoenix.c:300 earmelf_vxworks.c:299 @@ -3596,23 +3600,24 @@ msgstr "%P: %s: грешка у чишћењу прикључка: %d (ignored)\ #: eelf32bmip.c:208 eelf32bmipn32.c:222 eelf32bsmip.c:222 eelf32btsmip.c:208 #: eelf32btsmip_fbsd.c:208 eelf32btsmipn32.c:208 eelf32btsmipn32_fbsd.c:208 #: eelf32ebmip.c:208 eelf32ebmipvxworks.c:208 eelf32elmip.c:208 -#: eelf32elmipvxworks.c:208 eelf32l4300.c:208 eelf32lmip.c:208 +#: eelf32elmipvxworks.c:208 eelf32kvx.c:198 eelf32l4300.c:208 eelf32lmip.c:208 #: eelf32lr5900.c:208 eelf32lr5900n32.c:208 eelf32lsmip.c:208 #: eelf32ltsmip.c:208 eelf32ltsmip_fbsd.c:208 eelf32ltsmipn32.c:208 #: eelf32ltsmipn32_fbsd.c:208 eelf32metag.c:209 eelf32mipswindiss.c:208 -#: eelf64bmip.c:222 eelf64btsmip.c:208 eelf64btsmip_fbsd.c:208 eelf64lppc.c:485 -#: eelf64lppc_fbsd.c:485 eelf64ltsmip.c:208 eelf64ltsmip_fbsd.c:208 -#: eelf64ppc.c:485 eelf64ppc_fbsd.c:485 eelf_mipsel_haiku.c:208 ehppaelf.c:233 -#: ehppalinux.c:233 ehppanbsd.c:233 ehppaobsd.c:233 em68hc11elf.c:298 -#: em68hc11elfb.c:298 em68hc12elf.c:298 em68hc12elfb.c:298 eppcmacos.c:1097 +#: eelf64bmip.c:222 eelf64btsmip.c:208 eelf64btsmip_fbsd.c:208 eelf64kvx.c:198 +#: eelf64kvx_linux.c:196 eelf64lppc.c:485 eelf64lppc_fbsd.c:485 +#: eelf64ltsmip.c:208 eelf64ltsmip_fbsd.c:208 eelf64ppc.c:485 +#: eelf64ppc_fbsd.c:485 eelf_mipsel_haiku.c:208 ehppaelf.c:233 ehppalinux.c:233 +#: ehppanbsd.c:233 ehppaobsd.c:233 em68hc11elf.c:298 em68hc11elfb.c:298 +#: em68hc12elf.c:298 em68hc12elfb.c:298 eppcmacos.c:1096 msgid "%X%P: can not make stub section: %E\n" msgstr "%X%P: не могу да направим одељак окрајка: %E\n" -#: eaarch64cloudabi.c:280 eaarch64cloudabib.c:280 eaarch64elf.c:279 -#: eaarch64elf32.c:279 eaarch64elf32b.c:279 eaarch64elfb.c:279 -#: eaarch64fbsd.c:280 eaarch64fbsdb.c:280 eaarch64haiku.c:280 -#: eaarch64linux.c:280 eaarch64linux32.c:280 eaarch64linux32b.c:280 -#: eaarch64linuxb.c:280 eaarch64nto.c:280 earcelf.c:117 earclinux.c:118 +#: eaarch64cloudabi.c:285 eaarch64cloudabib.c:285 eaarch64elf.c:285 +#: eaarch64elf32.c:285 eaarch64elf32b.c:285 eaarch64elfb.c:285 +#: eaarch64fbsd.c:285 eaarch64fbsdb.c:285 eaarch64haiku.c:285 +#: eaarch64linux.c:285 eaarch64linux32.c:285 eaarch64linux32b.c:285 +#: eaarch64linuxb.c:285 eaarch64nto.c:285 earcelf.c:117 earclinux.c:118 #: earclinux_nps.c:118 earcv2elf.c:117 earcv2elfx.c:117 earmelf.c:411 #: earmelf_fbsd.c:411 earmelf_fuchsia.c:412 earmelf_haiku.c:412 #: earmelf_linux.c:412 earmelf_linux_eabi.c:412 earmelf_linux_fdpiceabi.c:412 @@ -3626,16 +3631,16 @@ msgstr "%X%P: не могу да направим одељак окрајка: % #: eavrxmega4.c:321 eavrxmega4_flmap.c:321 eavrxmega5.c:321 eavrxmega6.c:321 #: eavrxmega7.c:321 ecriself.c:117 ecrislinux.c:118 ed10velf.c:117 #: eelf32_sparc.c:118 eelf32_sparc_sol2.c:250 eelf32_sparc_vxworks.c:147 -#: eelf32_spu.c:651 eelf32_tic6x_be.c:184 eelf32_tic6x_elf_be.c:184 -#: eelf32_tic6x_elf_le.c:184 eelf32_tic6x_le.c:184 eelf32_tic6x_linux_be.c:184 -#: eelf32_tic6x_linux_le.c:184 eelf32_x86_64.c:150 eelf32am33lin.c:117 +#: eelf32_spu.c:651 eelf32_tic6x_be.c:182 eelf32_tic6x_elf_be.c:182 +#: eelf32_tic6x_elf_le.c:182 eelf32_tic6x_le.c:182 eelf32_tic6x_linux_be.c:182 +#: eelf32_tic6x_linux_le.c:182 eelf32_x86_64.c:182 eelf32am33lin.c:117 #: eelf32b4300.c:314 eelf32bfin.c:127 eelf32bfinfd.c:127 eelf32bmip.c:314 #: eelf32bmipn32.c:328 eelf32briscv.c:94 eelf32briscv_ilp32.c:94 #: eelf32briscv_ilp32f.c:94 eelf32bsmip.c:328 eelf32btsmip.c:314 #: eelf32btsmip_fbsd.c:314 eelf32btsmipn32.c:314 eelf32btsmipn32_fbsd.c:314 #: eelf32cr16.c:267 eelf32crx.c:154 eelf32ebmip.c:314 eelf32ebmipvxworks.c:343 #: eelf32elmip.c:314 eelf32elmipvxworks.c:343 eelf32epiphany.c:117 -#: eelf32epiphany_4x4.c:119 eelf32frvfd.c:117 eelf32ip2k.c:117 +#: eelf32epiphany_4x4.c:119 eelf32frvfd.c:117 eelf32ip2k.c:117 eelf32kvx.c:241 #: eelf32l4300.c:314 eelf32lm32.c:117 eelf32lm32fd.c:117 eelf32lmip.c:314 #: eelf32loongarch.c:92 eelf32lppc.c:326 eelf32lppclinux.c:326 #: eelf32lppcnto.c:326 eelf32lppcsim.c:326 eelf32lr5900.c:314 @@ -3653,20 +3658,20 @@ msgstr "%X%P: не могу да направим одељак окрајка: % #: eelf32xstormy16.c:128 eelf32xtensa.c:2014 eelf32z80.c:144 eelf64_aix.c:117 #: eelf64_ia64.c:143 eelf64_ia64_fbsd.c:143 eelf64_ia64_vms.c:220 #: eelf64_s390.c:133 eelf64_sparc.c:118 eelf64_sparc_fbsd.c:118 -#: eelf64_sparc_sol2.c:250 eelf64alpha.c:201 eelf64alpha_fbsd.c:201 -#: eelf64alpha_nbsd.c:201 eelf64bmip.c:328 eelf64bpf.c:117 eelf64briscv.c:94 +#: eelf64_sparc_sol2.c:250 eelf64alpha.c:178 eelf64alpha_fbsd.c:178 +#: eelf64alpha_nbsd.c:178 eelf64bmip.c:328 eelf64bpf.c:117 eelf64briscv.c:94 #: eelf64briscv_lp64.c:94 eelf64briscv_lp64f.c:94 eelf64btsmip.c:314 -#: eelf64btsmip_fbsd.c:314 eelf64hppa.c:117 eelf64loongarch.c:92 -#: eelf64lppc.c:595 eelf64lppc_fbsd.c:595 eelf64lriscv.c:94 -#: eelf64lriscv_lp64.c:94 eelf64lriscv_lp64f.c:94 eelf64ltsmip.c:314 -#: eelf64ltsmip_fbsd.c:314 eelf64mmix.c:228 eelf64ppc.c:595 -#: eelf64ppc_fbsd.c:595 eelf64rdos.c:133 eelf64tilegx.c:118 -#: eelf64tilegx_be.c:118 eelf_i386.c:142 eelf_i386_be.c:141 +#: eelf64btsmip_fbsd.c:314 eelf64hppa.c:117 eelf64kvx.c:241 +#: eelf64kvx_linux.c:239 eelf64loongarch.c:92 eelf64lppc.c:595 +#: eelf64lppc_fbsd.c:595 eelf64lriscv.c:94 eelf64lriscv_lp64.c:94 +#: eelf64lriscv_lp64f.c:94 eelf64ltsmip.c:314 eelf64ltsmip_fbsd.c:314 +#: eelf64mmix.c:225 eelf64ppc.c:595 eelf64ppc_fbsd.c:595 eelf64rdos.c:165 +#: eelf64tilegx.c:118 eelf64tilegx_be.c:118 eelf_i386.c:142 eelf_i386_be.c:141 #: eelf_i386_fbsd.c:142 eelf_i386_haiku.c:142 eelf_i386_ldso.c:142 #: eelf_i386_sol2.c:274 eelf_i386_vxworks.c:171 eelf_iamcu.c:142 -#: eelf_mipsel_haiku.c:314 eelf_s390.c:118 eelf_x86_64.c:150 -#: eelf_x86_64_cloudabi.c:150 eelf_x86_64_fbsd.c:150 eelf_x86_64_haiku.c:150 -#: eelf_x86_64_sol2.c:282 eh8300elf.c:117 eh8300elf_linux.c:117 +#: eelf_mipsel_haiku.c:314 eelf_s390.c:118 eelf_x86_64.c:182 +#: eelf_x86_64_cloudabi.c:182 eelf_x86_64_fbsd.c:182 eelf_x86_64_haiku.c:182 +#: eelf_x86_64_sol2.c:314 eh8300elf.c:117 eh8300elf_linux.c:117 #: eh8300helf.c:117 eh8300helf_linux.c:117 eh8300hnelf.c:117 eh8300self.c:117 #: eh8300self_linux.c:117 eh8300snelf.c:117 eh8300sxelf.c:117 #: eh8300sxelf_linux.c:117 eh8300sxnelf.c:117 ehppa64linux.c:117 ehppaelf.c:283 @@ -3684,26 +3689,27 @@ msgstr "%X%P: не могу да направим одељак окрајка: % msgid "%X%P: .eh_frame/.stab edit: %E\n" msgstr "%X%P: „.eh_frame/.stab“ уређује: %E\n" -#: eaarch64cloudabi.c:296 eaarch64cloudabib.c:296 eaarch64elf.c:295 -#: eaarch64elf32.c:295 eaarch64elf32b.c:295 eaarch64elfb.c:295 -#: eaarch64fbsd.c:296 eaarch64fbsdb.c:296 eaarch64haiku.c:296 -#: eaarch64linux.c:296 eaarch64linux32.c:296 eaarch64linux32b.c:296 -#: eaarch64linuxb.c:296 eaarch64nto.c:296 earmelf.c:426 earmelf_fbsd.c:426 +#: eaarch64cloudabi.c:301 eaarch64cloudabib.c:301 eaarch64elf.c:301 +#: eaarch64elf32.c:301 eaarch64elf32b.c:301 eaarch64elfb.c:301 +#: eaarch64fbsd.c:301 eaarch64fbsdb.c:301 eaarch64haiku.c:301 +#: eaarch64linux.c:301 eaarch64linux32.c:301 eaarch64linux32b.c:301 +#: eaarch64linuxb.c:301 eaarch64nto.c:301 earmelf.c:426 earmelf_fbsd.c:426 #: earmelf_fuchsia.c:427 earmelf_haiku.c:427 earmelf_linux.c:427 #: earmelf_linux_eabi.c:427 earmelf_linux_fdpiceabi.c:427 earmelf_nacl.c:427 #: earmelf_nbsd.c:426 earmelf_phoenix.c:427 earmelf_vxworks.c:426 #: earmelfb.c:426 earmelfb_fbsd.c:426 earmelfb_fuchsia.c:427 #: earmelfb_linux.c:427 earmelfb_linux_eabi.c:427 #: earmelfb_linux_fdpiceabi.c:427 earmelfb_nacl.c:427 earmelfb_nbsd.c:426 -#: earmnto.c:426 ecskyelf.c:263 ecskyelf_linux.c:263 +#: earmnto.c:426 ecskyelf.c:263 ecskyelf_linux.c:263 eelf32kvx.c:257 +#: eelf64kvx.c:257 eelf64kvx_linux.c:255 msgid "%X%P: could not compute sections lists for stub generation: %E\n" msgstr "%X%P: не могу да израчунам ÑпиÑкове одељака за Ñтварање окрајка: %E\n" -#: eaarch64cloudabi.c:311 eaarch64cloudabib.c:311 eaarch64elf.c:310 -#: eaarch64elf32.c:310 eaarch64elf32b.c:310 eaarch64elfb.c:310 -#: eaarch64fbsd.c:311 eaarch64fbsdb.c:311 eaarch64haiku.c:311 -#: eaarch64linux.c:311 eaarch64linux32.c:311 eaarch64linux32b.c:311 -#: eaarch64linuxb.c:311 eaarch64nto.c:311 earmelf.c:441 earmelf_fbsd.c:441 +#: eaarch64cloudabi.c:316 eaarch64cloudabib.c:316 eaarch64elf.c:316 +#: eaarch64elf32.c:316 eaarch64elf32b.c:316 eaarch64elfb.c:316 +#: eaarch64fbsd.c:316 eaarch64fbsdb.c:316 eaarch64haiku.c:316 +#: eaarch64linux.c:316 eaarch64linux32.c:316 eaarch64linux32b.c:316 +#: eaarch64linuxb.c:316 eaarch64nto.c:316 earmelf.c:441 earmelf_fbsd.c:441 #: earmelf_fuchsia.c:442 earmelf_haiku.c:442 earmelf_linux.c:442 #: earmelf_linux_eabi.c:442 earmelf_linux_fdpiceabi.c:442 earmelf_nacl.c:442 #: earmelf_nbsd.c:441 earmelf_phoenix.c:442 earmelf_vxworks.c:441 @@ -3731,12 +3737,12 @@ msgstr "%X%P: не могу да израчунам ÑпиÑкове одељаРmsgid "%X%P: can not size stub section: %E\n" msgstr "%X%P: не могу да одрадим величину одељка окрајка: %E\n" -#: eaarch64cloudabi.c:330 eaarch64cloudabib.c:330 eaarch64elf.c:329 -#: eaarch64elf32.c:329 eaarch64elf32b.c:329 eaarch64elfb.c:329 -#: eaarch64fbsd.c:330 eaarch64fbsdb.c:330 eaarch64haiku.c:330 -#: eaarch64linux.c:330 eaarch64linux32.c:330 eaarch64linux32b.c:330 -#: eaarch64linuxb.c:330 eaarch64nto.c:330 eaix5ppc.c:1137 eaix5rs6.c:1137 -#: eaixppc.c:1137 eaixrs6.c:1137 earmelf.c:475 earmelf_fbsd.c:475 +#: eaarch64cloudabi.c:335 eaarch64cloudabib.c:335 eaarch64elf.c:335 +#: eaarch64elf32.c:335 eaarch64elf32b.c:335 eaarch64elfb.c:335 +#: eaarch64fbsd.c:335 eaarch64fbsdb.c:335 eaarch64haiku.c:335 +#: eaarch64linux.c:335 eaarch64linux32.c:335 eaarch64linux32b.c:335 +#: eaarch64linuxb.c:335 eaarch64nto.c:335 eaix5ppc.c:1136 eaix5rs6.c:1136 +#: eaixppc.c:1136 eaixrs6.c:1136 earmelf.c:475 earmelf_fbsd.c:475 #: earmelf_fuchsia.c:476 earmelf_haiku.c:476 earmelf_linux.c:476 #: earmelf_linux_eabi.c:476 earmelf_linux_fdpiceabi.c:476 earmelf_nacl.c:476 #: earmelf_nbsd.c:475 earmelf_phoenix.c:476 earmelf_vxworks.c:475 @@ -3747,10 +3753,11 @@ msgstr "%X%P: не могу да одрадим величину одељка о #: eavr35.c:205 eavr4.c:205 eavr5.c:205 eavr51.c:205 eavr6.c:205 eavrtiny.c:205 #: eavrxmega1.c:205 eavrxmega2.c:205 eavrxmega2_flmap.c:205 eavrxmega3.c:205 #: eavrxmega4.c:205 eavrxmega4_flmap.c:205 eavrxmega5.c:205 eavrxmega6.c:205 -#: eavrxmega7.c:205 eelf32metag.c:303 eelf64lppc.c:634 eelf64lppc_fbsd.c:634 -#: eelf64ppc.c:634 eelf64ppc_fbsd.c:634 ehppaelf.c:335 ehppalinux.c:335 -#: ehppanbsd.c:335 ehppaobsd.c:335 em68hc11elf.c:324 em68hc11elfb.c:324 -#: em68hc12elf.c:324 em68hc12elfb.c:324 eppcmacos.c:1137 +#: eavrxmega7.c:205 eelf32kvx.c:291 eelf32metag.c:303 eelf64kvx.c:291 +#: eelf64kvx_linux.c:289 eelf64lppc.c:634 eelf64lppc_fbsd.c:634 eelf64ppc.c:634 +#: eelf64ppc_fbsd.c:634 ehppaelf.c:335 ehppalinux.c:335 ehppanbsd.c:335 +#: ehppaobsd.c:335 em68hc11elf.c:324 em68hc11elfb.c:324 em68hc12elf.c:324 +#: em68hc12elfb.c:324 eppcmacos.c:1136 msgid "%X%P: can not build stubs: %E\n" msgstr "%X%P: не могу да изградим окрајке: %E\n" @@ -3783,11 +3790,11 @@ msgstr "%X%P: не могу да изградим окрајке: %E\n" #. These will only be created if the output format is an arm format, #. hence we do not support linking and changing output formats at the #. same time. Use a link followed by objcopy to change output formats. -#: eaarch64cloudabi.c:348 eaarch64cloudabib.c:348 eaarch64elf.c:347 -#: eaarch64elf32.c:347 eaarch64elf32b.c:347 eaarch64elfb.c:347 -#: eaarch64fbsd.c:348 eaarch64fbsdb.c:348 eaarch64haiku.c:348 -#: eaarch64linux.c:348 eaarch64linux32.c:348 eaarch64linux32b.c:348 -#: eaarch64linuxb.c:348 eaarch64nto.c:348 earm_wince_pe.c:1523 earmelf.c:544 +#: eaarch64cloudabi.c:353 eaarch64cloudabib.c:353 eaarch64elf.c:353 +#: eaarch64elf32.c:353 eaarch64elf32b.c:353 eaarch64elfb.c:353 +#: eaarch64fbsd.c:353 eaarch64fbsdb.c:353 eaarch64haiku.c:353 +#: eaarch64linux.c:353 eaarch64linux32.c:353 eaarch64linux32b.c:353 +#: eaarch64linuxb.c:353 eaarch64nto.c:353 earm_wince_pe.c:1523 earmelf.c:544 #: earmelf_fbsd.c:544 earmelf_fuchsia.c:545 earmelf_haiku.c:545 #: earmelf_linux.c:545 earmelf_linux_eabi.c:545 earmelf_linux_fdpiceabi.c:545 #: earmelf_nacl.c:545 earmelf_nbsd.c:544 earmelf_phoenix.c:545 @@ -3806,27 +3813,30 @@ msgstr "%X%P: не могу да изградим окрајке: %E\n" #: ei386pe_posix.c:1523 emcorepe.c:1523 ends32belf.c:77 ends32belf16m.c:77 #: ends32belf_linux.c:77 ends32elf.c:77 ends32elf16m.c:77 ends32elf_linux.c:77 #: escore3_elf.c:82 escore7_elf.c:82 eshpe.c:1523 ev850.c:94 ev850_rh850.c:94 -msgid "%F%P: error: cannot change output format whilst linking %s binaries\n" -msgstr "%F%P: грешка: не могу да изменим излазни Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾Ðº повезујем „%s“ извршне\n" - -#: eaarch64cloudabi.c:397 eaarch64cloudabi.c:457 eaarch64cloudabib.c:397 -#: eaarch64cloudabib.c:457 eaarch64elf.c:396 eaarch64elf.c:456 -#: eaarch64elf32.c:396 eaarch64elf32.c:456 eaarch64elf32b.c:396 -#: eaarch64elf32b.c:456 eaarch64elfb.c:396 eaarch64elfb.c:456 -#: eaarch64fbsd.c:397 eaarch64fbsd.c:457 eaarch64fbsdb.c:397 -#: eaarch64fbsdb.c:457 eaarch64haiku.c:397 eaarch64haiku.c:457 -#: eaarch64linux.c:397 eaarch64linux.c:457 eaarch64linux32.c:397 -#: eaarch64linux32.c:457 eaarch64linux32b.c:397 eaarch64linux32b.c:457 -#: eaarch64linuxb.c:397 eaarch64linuxb.c:457 eaarch64nto.c:397 -#: eaarch64nto.c:457 +msgid "%P: error: cannot change output format whilst linking %s binaries\n" +msgstr "%P: грешка: не могу да изменим излазни Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾Ðº повезујем „%s“ извршне\n" + +#: eaarch64cloudabi.c:403 eaarch64cloudabi.c:463 eaarch64cloudabi.c:487 +#: eaarch64cloudabib.c:403 eaarch64cloudabib.c:463 eaarch64cloudabib.c:487 +#: eaarch64elf.c:403 eaarch64elf.c:463 eaarch64elf.c:487 eaarch64elf32.c:403 +#: eaarch64elf32.c:463 eaarch64elf32.c:487 eaarch64elf32b.c:403 +#: eaarch64elf32b.c:463 eaarch64elf32b.c:487 eaarch64elfb.c:403 +#: eaarch64elfb.c:463 eaarch64elfb.c:487 eaarch64fbsd.c:403 eaarch64fbsd.c:463 +#: eaarch64fbsd.c:487 eaarch64fbsdb.c:403 eaarch64fbsdb.c:463 +#: eaarch64fbsdb.c:487 eaarch64haiku.c:403 eaarch64haiku.c:463 +#: eaarch64haiku.c:487 eaarch64linux.c:403 eaarch64linux.c:463 +#: eaarch64linux.c:487 eaarch64linux32.c:403 eaarch64linux32.c:463 +#: eaarch64linux32.c:487 eaarch64linux32b.c:403 eaarch64linux32b.c:463 +#: eaarch64linux32b.c:487 eaarch64linuxb.c:403 eaarch64linuxb.c:463 +#: eaarch64linuxb.c:487 eaarch64nto.c:403 eaarch64nto.c:463 eaarch64nto.c:487 msgid "%X%P: error: unrecognized value '-z %s'\n" msgstr "%X%P: грешка: непозната вредноÑÑ‚ „-z %s“\n" -#: eaarch64cloudabi.c:713 eaarch64cloudabib.c:713 eaarch64elf.c:712 -#: eaarch64elf32.c:712 eaarch64elf32b.c:712 eaarch64elfb.c:712 -#: eaarch64fbsd.c:713 eaarch64fbsdb.c:713 eaarch64haiku.c:713 -#: eaarch64linux.c:713 eaarch64linux32.c:713 eaarch64linux32b.c:713 -#: eaarch64linuxb.c:713 eaarch64nto.c:875 earcelf.c:233 earclinux.c:324 +#: eaarch64cloudabi.c:744 eaarch64cloudabib.c:744 eaarch64elf.c:744 +#: eaarch64elf32.c:744 eaarch64elf32b.c:744 eaarch64elfb.c:744 +#: eaarch64fbsd.c:744 eaarch64fbsdb.c:744 eaarch64haiku.c:744 +#: eaarch64linux.c:744 eaarch64linux32.c:744 eaarch64linux32b.c:744 +#: eaarch64linuxb.c:744 eaarch64nto.c:906 earcelf.c:233 earclinux.c:324 #: earclinux_nps.c:324 earcv2elf.c:212 earcv2elfx.c:212 earmelf.c:848 #: earmelf_fbsd.c:848 earmelf_fuchsia.c:849 earmelf_haiku.c:849 #: earmelf_linux.c:849 earmelf_linux_eabi.c:849 earmelf_linux_fdpiceabi.c:849 @@ -3841,16 +3851,16 @@ msgstr "%X%P: грешка: непозната вредноÑÑ‚ „-z %s“\n" #: eavrxmega7.c:428 ecriself.c:237 ecrislinux.c:284 ecskyelf.c:476 #: ecskyelf_linux.c:563 ed10velf.c:212 eelf32_sparc.c:324 #: eelf32_sparc_sol2.c:456 eelf32_sparc_vxworks.c:356 eelf32_spu.c:796 -#: eelf32_tic6x_be.c:415 eelf32_tic6x_elf_be.c:415 eelf32_tic6x_elf_le.c:415 -#: eelf32_tic6x_le.c:415 eelf32_tic6x_linux_be.c:415 -#: eelf32_tic6x_linux_le.c:415 eelf32_x86_64.c:8364 eelf32am33lin.c:283 +#: eelf32_tic6x_be.c:413 eelf32_tic6x_elf_be.c:413 eelf32_tic6x_elf_le.c:413 +#: eelf32_tic6x_le.c:413 eelf32_tic6x_linux_be.c:413 +#: eelf32_tic6x_linux_le.c:413 eelf32_x86_64.c:8396 eelf32am33lin.c:283 #: eelf32b4300.c:528 eelf32bfin.c:297 eelf32bfinfd.c:337 eelf32bmip.c:528 #: eelf32bmipn32.c:542 eelf32briscv.c:402 eelf32briscv_ilp32.c:402 #: eelf32briscv_ilp32f.c:402 eelf32bsmip.c:542 eelf32btsmip.c:528 #: eelf32btsmip_fbsd.c:528 eelf32btsmipn32.c:528 eelf32btsmipn32_fbsd.c:528 #: eelf32cr16.c:362 eelf32crx.c:249 eelf32ebmip.c:528 eelf32ebmipvxworks.c:559 #: eelf32elmip.c:528 eelf32elmipvxworks.c:559 eelf32epiphany.c:237 -#: eelf32epiphany_4x4.c:214 eelf32frvfd.c:323 eelf32ip2k.c:237 eelf32kvx.c:549 +#: eelf32epiphany_4x4.c:214 eelf32frvfd.c:323 eelf32ip2k.c:237 eelf32kvx.c:548 #: eelf32l4300.c:528 eelf32lm32.c:237 eelf32lm32fd.c:323 eelf32lmip.c:528 #: eelf32loongarch.c:380 eelf32lppc.c:553 eelf32lppclinux.c:553 #: eelf32lppcnto.c:553 eelf32lppcsim.c:553 eelf32lr5900.c:482 @@ -3866,22 +3876,22 @@ msgstr "%X%P: грешка: непозната вредноÑÑ‚ „-z %s“\n" #: eelf32rl78.c:237 eelf32rx.c:259 eelf32rx_linux.c:250 eelf32tilegx.c:324 #: eelf32tilegx_be.c:324 eelf32tilepro.c:324 eelf32vax.c:283 eelf32visium.c:212 #: eelf32xstormy16.c:223 eelf32xtensa.c:2227 eelf32z80.c:239 eelf64_aix.c:283 -#: eelf64_ia64.c:352 eelf64_ia64_fbsd.c:352 eelf64_s390.c:421 +#: eelf64_ia64.c:352 eelf64_ia64_fbsd.c:352 eelf64_s390.c:426 #: eelf64_sparc.c:324 eelf64_sparc_fbsd.c:324 eelf64_sparc_sol2.c:456 -#: eelf64alpha.c:412 eelf64alpha_fbsd.c:412 eelf64alpha_nbsd.c:412 +#: eelf64alpha.c:388 eelf64alpha_fbsd.c:388 eelf64alpha_nbsd.c:388 #: eelf64bmip.c:542 eelf64bpf.c:212 eelf64briscv.c:402 eelf64briscv_lp64.c:402 #: eelf64briscv_lp64f.c:402 eelf64btsmip.c:528 eelf64btsmip_fbsd.c:528 -#: eelf64hppa.c:233 eelf64kvx.c:549 eelf64kvx_linux.c:586 eelf64loongarch.c:380 -#: eelf64lppc.c:988 eelf64lppc_fbsd.c:988 eelf64lriscv.c:402 +#: eelf64hppa.c:233 eelf64kvx.c:548 eelf64kvx_linux.c:586 eelf64loongarch.c:380 +#: eelf64lppc.c:989 eelf64lppc_fbsd.c:989 eelf64lriscv.c:402 #: eelf64lriscv_lp64.c:402 eelf64lriscv_lp64f.c:402 eelf64ltsmip.c:528 -#: eelf64ltsmip_fbsd.c:528 eelf64mmix.c:394 eelf64ppc.c:988 -#: eelf64ppc_fbsd.c:988 eelf64rdos.c:345 eelf64tilegx.c:324 +#: eelf64ltsmip_fbsd.c:528 eelf64mmix.c:391 eelf64ppc.c:989 +#: eelf64ppc_fbsd.c:989 eelf64rdos.c:377 eelf64tilegx.c:324 #: eelf64tilegx_be.c:324 eelf_i386.c:7822 eelf_i386_be.c:307 #: eelf_i386_fbsd.c:354 eelf_i386_haiku.c:354 eelf_i386_ldso.c:314 #: eelf_i386_sol2.c:486 eelf_i386_vxworks.c:380 eelf_iamcu.c:354 -#: eelf_mipsel_haiku.c:528 eelf_s390.c:324 eelf_x86_64.c:8364 -#: eelf_x86_64_cloudabi.c:362 eelf_x86_64_fbsd.c:362 eelf_x86_64_haiku.c:362 -#: eelf_x86_64_sol2.c:494 eh8300elf.c:237 eh8300elf_linux.c:237 +#: eelf_mipsel_haiku.c:528 eelf_s390.c:324 eelf_x86_64.c:8396 +#: eelf_x86_64_cloudabi.c:394 eelf_x86_64_fbsd.c:394 eelf_x86_64_haiku.c:394 +#: eelf_x86_64_sol2.c:526 eh8300elf.c:237 eh8300elf_linux.c:237 #: eh8300helf.c:237 eh8300helf_linux.c:237 eh8300hnelf.c:237 eh8300self.c:237 #: eh8300self_linux.c:237 eh8300snelf.c:237 eh8300sxelf.c:237 #: eh8300sxelf_linux.c:237 eh8300sxnelf.c:237 ehppa64linux.c:283 ehppaelf.c:491 @@ -3896,14 +3906,14 @@ msgstr "%X%P: грешка: непозната вредноÑÑ‚ „-z %s“\n" #: eshelf_vxworks.c:315 eshlelf.c:283 eshlelf_fd.c:324 eshlelf_linux.c:324 #: eshlelf_nbsd.c:283 eshlelf_nto.c:283 eshlelf_vxworks.c:315 ev850.c:259 #: ev850_rh850.c:259 -msgid "%F%P: --compress-debug-sections=zstd: ld is not built with zstd support\n" -msgstr "%F%P: --compress-debug-sections=zstd: „ld“ није изграђен Ñа „zstd“ подршком\n" - -#: eaarch64cloudabi.c:718 eaarch64cloudabib.c:718 eaarch64elf.c:717 -#: eaarch64elf32.c:717 eaarch64elf32b.c:717 eaarch64elfb.c:717 -#: eaarch64fbsd.c:718 eaarch64fbsdb.c:718 eaarch64haiku.c:718 -#: eaarch64linux.c:718 eaarch64linux32.c:718 eaarch64linux32b.c:718 -#: eaarch64linuxb.c:718 eaarch64nto.c:880 earcelf.c:238 earclinux.c:329 +msgid "%P: --compress-debug-sections=zstd: ld is not built with zstd support\n" +msgstr "%P: --compress-debug-sections=zstd: „ld“ није изграђен Ñа „zstd“ подршком\n" + +#: eaarch64cloudabi.c:749 eaarch64cloudabib.c:749 eaarch64elf.c:749 +#: eaarch64elf32.c:749 eaarch64elf32b.c:749 eaarch64elfb.c:749 +#: eaarch64fbsd.c:749 eaarch64fbsdb.c:749 eaarch64haiku.c:749 +#: eaarch64linux.c:749 eaarch64linux32.c:749 eaarch64linux32b.c:749 +#: eaarch64linuxb.c:749 eaarch64nto.c:911 earcelf.c:238 earclinux.c:329 #: earclinux_nps.c:329 earcv2elf.c:217 earcv2elfx.c:217 earmelf.c:853 #: earmelf_fbsd.c:853 earmelf_fuchsia.c:854 earmelf_haiku.c:854 #: earmelf_linux.c:854 earmelf_linux_eabi.c:854 earmelf_linux_fdpiceabi.c:854 @@ -3918,16 +3928,16 @@ msgstr "%F%P: --compress-debug-sections=zstd: „ld“ није изграђен #: eavrxmega7.c:433 ecriself.c:242 ecrislinux.c:289 ecskyelf.c:481 #: ecskyelf_linux.c:568 ed10velf.c:217 eelf32_sparc.c:329 #: eelf32_sparc_sol2.c:461 eelf32_sparc_vxworks.c:361 eelf32_spu.c:801 -#: eelf32_tic6x_be.c:420 eelf32_tic6x_elf_be.c:420 eelf32_tic6x_elf_le.c:420 -#: eelf32_tic6x_le.c:420 eelf32_tic6x_linux_be.c:420 -#: eelf32_tic6x_linux_le.c:420 eelf32_x86_64.c:8369 eelf32am33lin.c:288 +#: eelf32_tic6x_be.c:418 eelf32_tic6x_elf_be.c:418 eelf32_tic6x_elf_le.c:418 +#: eelf32_tic6x_le.c:418 eelf32_tic6x_linux_be.c:418 +#: eelf32_tic6x_linux_le.c:418 eelf32_x86_64.c:8401 eelf32am33lin.c:288 #: eelf32b4300.c:533 eelf32bfin.c:302 eelf32bfinfd.c:342 eelf32bmip.c:533 #: eelf32bmipn32.c:547 eelf32briscv.c:407 eelf32briscv_ilp32.c:407 #: eelf32briscv_ilp32f.c:407 eelf32bsmip.c:547 eelf32btsmip.c:533 #: eelf32btsmip_fbsd.c:533 eelf32btsmipn32.c:533 eelf32btsmipn32_fbsd.c:533 #: eelf32cr16.c:367 eelf32crx.c:254 eelf32ebmip.c:533 eelf32ebmipvxworks.c:564 #: eelf32elmip.c:533 eelf32elmipvxworks.c:564 eelf32epiphany.c:242 -#: eelf32epiphany_4x4.c:219 eelf32frvfd.c:328 eelf32ip2k.c:242 eelf32kvx.c:554 +#: eelf32epiphany_4x4.c:219 eelf32frvfd.c:328 eelf32ip2k.c:242 eelf32kvx.c:553 #: eelf32l4300.c:533 eelf32lm32.c:242 eelf32lm32fd.c:328 eelf32lmip.c:533 #: eelf32loongarch.c:385 eelf32lppc.c:558 eelf32lppclinux.c:558 #: eelf32lppcnto.c:558 eelf32lppcsim.c:558 eelf32lr5900.c:487 @@ -3943,22 +3953,22 @@ msgstr "%F%P: --compress-debug-sections=zstd: „ld“ није изграђен #: eelf32rl78.c:242 eelf32rx.c:264 eelf32rx_linux.c:255 eelf32tilegx.c:329 #: eelf32tilegx_be.c:329 eelf32tilepro.c:329 eelf32vax.c:288 eelf32visium.c:217 #: eelf32xstormy16.c:228 eelf32xtensa.c:2232 eelf32z80.c:244 eelf64_aix.c:288 -#: eelf64_ia64.c:357 eelf64_ia64_fbsd.c:357 eelf64_s390.c:426 +#: eelf64_ia64.c:357 eelf64_ia64_fbsd.c:357 eelf64_s390.c:431 #: eelf64_sparc.c:329 eelf64_sparc_fbsd.c:329 eelf64_sparc_sol2.c:461 -#: eelf64alpha.c:417 eelf64alpha_fbsd.c:417 eelf64alpha_nbsd.c:417 +#: eelf64alpha.c:393 eelf64alpha_fbsd.c:393 eelf64alpha_nbsd.c:393 #: eelf64bmip.c:547 eelf64bpf.c:217 eelf64briscv.c:407 eelf64briscv_lp64.c:407 #: eelf64briscv_lp64f.c:407 eelf64btsmip.c:533 eelf64btsmip_fbsd.c:533 -#: eelf64hppa.c:238 eelf64kvx.c:554 eelf64kvx_linux.c:591 eelf64loongarch.c:385 -#: eelf64lppc.c:993 eelf64lppc_fbsd.c:993 eelf64lriscv.c:407 +#: eelf64hppa.c:238 eelf64kvx.c:553 eelf64kvx_linux.c:591 eelf64loongarch.c:385 +#: eelf64lppc.c:994 eelf64lppc_fbsd.c:994 eelf64lriscv.c:407 #: eelf64lriscv_lp64.c:407 eelf64lriscv_lp64f.c:407 eelf64ltsmip.c:533 -#: eelf64ltsmip_fbsd.c:533 eelf64mmix.c:399 eelf64ppc.c:993 -#: eelf64ppc_fbsd.c:993 eelf64rdos.c:350 eelf64tilegx.c:329 +#: eelf64ltsmip_fbsd.c:533 eelf64mmix.c:396 eelf64ppc.c:994 +#: eelf64ppc_fbsd.c:994 eelf64rdos.c:382 eelf64tilegx.c:329 #: eelf64tilegx_be.c:329 eelf_i386.c:7827 eelf_i386_be.c:312 #: eelf_i386_fbsd.c:359 eelf_i386_haiku.c:359 eelf_i386_ldso.c:319 #: eelf_i386_sol2.c:491 eelf_i386_vxworks.c:385 eelf_iamcu.c:359 -#: eelf_mipsel_haiku.c:533 eelf_s390.c:329 eelf_x86_64.c:8369 -#: eelf_x86_64_cloudabi.c:367 eelf_x86_64_fbsd.c:367 eelf_x86_64_haiku.c:367 -#: eelf_x86_64_sol2.c:499 eh8300elf.c:242 eh8300elf_linux.c:242 +#: eelf_mipsel_haiku.c:533 eelf_s390.c:329 eelf_x86_64.c:8401 +#: eelf_x86_64_cloudabi.c:399 eelf_x86_64_fbsd.c:399 eelf_x86_64_haiku.c:399 +#: eelf_x86_64_sol2.c:531 eh8300elf.c:242 eh8300elf_linux.c:242 #: eh8300helf.c:242 eh8300helf_linux.c:242 eh8300hnelf.c:242 eh8300self.c:242 #: eh8300self_linux.c:242 eh8300snelf.c:242 eh8300sxelf.c:242 #: eh8300sxelf_linux.c:242 eh8300sxnelf.c:242 ehppa64linux.c:288 ehppaelf.c:496 @@ -3973,14 +3983,14 @@ msgstr "%F%P: --compress-debug-sections=zstd: „ld“ није изграђен #: eshelf_vxworks.c:320 eshlelf.c:288 eshlelf_fd.c:329 eshlelf_linux.c:329 #: eshlelf_nbsd.c:288 eshlelf_nto.c:288 eshlelf_vxworks.c:320 ev850.c:264 #: ev850_rh850.c:264 -msgid "%F%P: invalid --compress-debug-sections option: `%s'\n" -msgstr "%F%P: неиÑправна „--compress-debug-sections“ одељка: %s\n" - -#: eaarch64cloudabi.c:776 eaarch64cloudabib.c:776 eaarch64elf.c:775 -#: eaarch64elf32.c:775 eaarch64elf32b.c:775 eaarch64elfb.c:775 -#: eaarch64fbsd.c:776 eaarch64fbsdb.c:776 eaarch64haiku.c:776 -#: eaarch64linux.c:776 eaarch64linux32.c:776 eaarch64linux32b.c:776 -#: eaarch64linuxb.c:776 eaarch64nto.c:938 earcelf.c:296 earclinux.c:387 +msgid "%P: invalid --compress-debug-sections option: `%s'\n" +msgstr "%P: неиÑправна „--compress-debug-sections“ одељка: %s\n" + +#: eaarch64cloudabi.c:807 eaarch64cloudabib.c:807 eaarch64elf.c:807 +#: eaarch64elf32.c:807 eaarch64elf32b.c:807 eaarch64elfb.c:807 +#: eaarch64fbsd.c:807 eaarch64fbsdb.c:807 eaarch64haiku.c:807 +#: eaarch64linux.c:807 eaarch64linux32.c:807 eaarch64linux32b.c:807 +#: eaarch64linuxb.c:807 eaarch64nto.c:969 earcelf.c:296 earclinux.c:387 #: earclinux_nps.c:387 earmelf.c:911 earmelf_fbsd.c:911 earmelf_fuchsia.c:912 #: earmelf_haiku.c:912 earmelf_linux.c:912 earmelf_linux_eabi.c:912 #: earmelf_linux_fdpiceabi.c:912 earmelf_nacl.c:912 earmelf_nbsd.c:911 @@ -3989,15 +3999,15 @@ msgstr "%F%P: неиÑправна „--compress-debug-sections“ одељка: #: earmelfb_linux_eabi.c:912 earmelfb_linux_fdpiceabi.c:912 earmelfb_nacl.c:912 #: earmelfb_nbsd.c:911 earmnto.c:871 ecrislinux.c:347 ecskyelf_linux.c:626 #: eelf32_sparc.c:387 eelf32_sparc_sol2.c:519 eelf32_sparc_vxworks.c:419 -#: eelf32_tic6x_be.c:478 eelf32_tic6x_elf_be.c:478 eelf32_tic6x_elf_le.c:478 -#: eelf32_tic6x_le.c:478 eelf32_tic6x_linux_be.c:478 -#: eelf32_tic6x_linux_le.c:478 eelf32_x86_64.c:8427 eelf32am33lin.c:346 +#: eelf32_tic6x_be.c:476 eelf32_tic6x_elf_be.c:476 eelf32_tic6x_elf_le.c:476 +#: eelf32_tic6x_le.c:476 eelf32_tic6x_linux_be.c:476 +#: eelf32_tic6x_linux_le.c:476 eelf32_x86_64.c:8459 eelf32am33lin.c:346 #: eelf32b4300.c:591 eelf32bfin.c:360 eelf32bfinfd.c:400 eelf32bmip.c:591 #: eelf32bmipn32.c:605 eelf32briscv.c:465 eelf32briscv_ilp32.c:465 #: eelf32briscv_ilp32f.c:465 eelf32bsmip.c:605 eelf32btsmip.c:591 #: eelf32btsmip_fbsd.c:591 eelf32btsmipn32.c:591 eelf32btsmipn32_fbsd.c:591 #: eelf32ebmip.c:591 eelf32ebmipvxworks.c:622 eelf32elmip.c:591 -#: eelf32elmipvxworks.c:622 eelf32frvfd.c:386 eelf32kvx.c:612 eelf32l4300.c:591 +#: eelf32elmipvxworks.c:622 eelf32frvfd.c:386 eelf32kvx.c:611 eelf32l4300.c:591 #: eelf32lm32fd.c:386 eelf32lmip.c:591 eelf32loongarch.c:443 eelf32lppc.c:616 #: eelf32lppclinux.c:616 eelf32lppcnto.c:616 eelf32lppcsim.c:616 #: eelf32lriscv.c:465 eelf32lriscv_ilp32.c:465 eelf32lriscv_ilp32f.c:465 @@ -4009,21 +4019,21 @@ msgstr "%F%P: неиÑправна „--compress-debug-sections“ одељка: #: eelf32ppcvxworks.c:586 eelf32ppcwindiss.c:616 eelf32tilegx.c:387 #: eelf32tilegx_be.c:387 eelf32tilepro.c:387 eelf32vax.c:346 #: eelf32xtensa.c:2290 eelf64_aix.c:346 eelf64_ia64.c:415 -#: eelf64_ia64_fbsd.c:415 eelf64_s390.c:484 eelf64_sparc.c:387 -#: eelf64_sparc_fbsd.c:387 eelf64_sparc_sol2.c:519 eelf64alpha.c:475 -#: eelf64alpha_fbsd.c:475 eelf64alpha_nbsd.c:475 eelf64bmip.c:605 +#: eelf64_ia64_fbsd.c:415 eelf64_s390.c:489 eelf64_sparc.c:387 +#: eelf64_sparc_fbsd.c:387 eelf64_sparc_sol2.c:519 eelf64alpha.c:451 +#: eelf64alpha_fbsd.c:451 eelf64alpha_nbsd.c:451 eelf64bmip.c:605 #: eelf64briscv.c:465 eelf64briscv_lp64.c:465 eelf64briscv_lp64f.c:465 -#: eelf64btsmip.c:591 eelf64btsmip_fbsd.c:591 eelf64hppa.c:296 eelf64kvx.c:612 -#: eelf64kvx_linux.c:649 eelf64loongarch.c:443 eelf64lppc.c:1051 -#: eelf64lppc_fbsd.c:1051 eelf64lriscv.c:465 eelf64lriscv_lp64.c:465 +#: eelf64btsmip.c:591 eelf64btsmip_fbsd.c:591 eelf64hppa.c:296 eelf64kvx.c:611 +#: eelf64kvx_linux.c:649 eelf64loongarch.c:443 eelf64lppc.c:1052 +#: eelf64lppc_fbsd.c:1052 eelf64lriscv.c:465 eelf64lriscv_lp64.c:465 #: eelf64lriscv_lp64f.c:465 eelf64ltsmip.c:591 eelf64ltsmip_fbsd.c:591 -#: eelf64mmix.c:457 eelf64ppc.c:1051 eelf64ppc_fbsd.c:1051 eelf64rdos.c:408 +#: eelf64mmix.c:454 eelf64ppc.c:1052 eelf64ppc_fbsd.c:1052 eelf64rdos.c:440 #: eelf64tilegx.c:387 eelf64tilegx_be.c:387 eelf_i386.c:7885 eelf_i386_be.c:370 #: eelf_i386_fbsd.c:417 eelf_i386_haiku.c:417 eelf_i386_ldso.c:377 #: eelf_i386_sol2.c:549 eelf_i386_vxworks.c:443 eelf_iamcu.c:417 -#: eelf_mipsel_haiku.c:591 eelf_s390.c:387 eelf_x86_64.c:8427 -#: eelf_x86_64_cloudabi.c:425 eelf_x86_64_fbsd.c:425 eelf_x86_64_haiku.c:425 -#: eelf_x86_64_sol2.c:557 ehppa64linux.c:346 ehppalinux.c:666 ehppanbsd.c:666 +#: eelf_mipsel_haiku.c:591 eelf_s390.c:387 eelf_x86_64.c:8459 +#: eelf_x86_64_cloudabi.c:457 eelf_x86_64_fbsd.c:457 eelf_x86_64_haiku.c:457 +#: eelf_x86_64_sol2.c:589 ehppa64linux.c:346 ehppalinux.c:666 ehppanbsd.c:666 #: ehppaobsd.c:666 ei386lynx.c:361 ei386moss.c:361 ei386nto.c:361 #: em32relf_linux.c:386 em32rlelf_linux.c:386 em68kelf.c:541 em68kelfnbsd.c:541 #: emn10300.c:346 ends32belf_linux.c:432 ends32elf_linux.c:432 @@ -4031,14 +4041,14 @@ msgstr "%F%P: неиÑправна „--compress-debug-sections“ одељка: #: eshelf_linux.c:387 eshelf_nbsd.c:346 eshelf_nto.c:346 eshelf_uclinux.c:346 #: eshelf_vxworks.c:378 eshlelf.c:346 eshlelf_fd.c:387 eshlelf_linux.c:387 #: eshlelf_nbsd.c:346 eshlelf_nto.c:346 eshlelf_vxworks.c:378 -msgid "%F%P: invalid hash style `%s'\n" -msgstr "%F%P: неиÑправан Ñтил хеша „%s“\n" - -#: eaarch64cloudabi.c:793 eaarch64cloudabib.c:793 eaarch64elf.c:792 -#: eaarch64elf32.c:792 eaarch64elf32b.c:792 eaarch64elfb.c:792 -#: eaarch64fbsd.c:793 eaarch64fbsdb.c:793 eaarch64haiku.c:793 -#: eaarch64linux.c:793 eaarch64linux32.c:793 eaarch64linux32b.c:793 -#: eaarch64linuxb.c:793 eaarch64nto.c:955 earcelf.c:313 earclinux.c:404 +msgid "%P: invalid hash style `%s'\n" +msgstr "%P: неиÑправан Ñтил хеша „%s“\n" + +#: eaarch64cloudabi.c:824 eaarch64cloudabib.c:824 eaarch64elf.c:824 +#: eaarch64elf32.c:824 eaarch64elf32b.c:824 eaarch64elfb.c:824 +#: eaarch64fbsd.c:824 eaarch64fbsdb.c:824 eaarch64haiku.c:824 +#: eaarch64linux.c:824 eaarch64linux32.c:824 eaarch64linux32b.c:824 +#: eaarch64linuxb.c:824 eaarch64nto.c:986 earcelf.c:313 earclinux.c:404 #: earclinux_nps.c:404 earcv2elf.c:241 earcv2elfx.c:241 earmelf.c:928 #: earmelf_fbsd.c:928 earmelf_fuchsia.c:929 earmelf_haiku.c:929 #: earmelf_linux.c:929 earmelf_linux_eabi.c:929 earmelf_linux_fdpiceabi.c:929 @@ -4053,16 +4063,16 @@ msgstr "%F%P: неиÑправан Ñтил хеша „%s“\n" #: eavrxmega7.c:457 ecriself.c:266 ecrislinux.c:364 ecskyelf.c:505 #: ecskyelf_linux.c:643 ed10velf.c:241 eelf32_sparc.c:404 #: eelf32_sparc_sol2.c:536 eelf32_sparc_vxworks.c:436 eelf32_spu.c:825 -#: eelf32_tic6x_be.c:495 eelf32_tic6x_elf_be.c:495 eelf32_tic6x_elf_le.c:495 -#: eelf32_tic6x_le.c:495 eelf32_tic6x_linux_be.c:495 -#: eelf32_tic6x_linux_le.c:495 eelf32_x86_64.c:8444 eelf32am33lin.c:363 +#: eelf32_tic6x_be.c:493 eelf32_tic6x_elf_be.c:493 eelf32_tic6x_elf_le.c:493 +#: eelf32_tic6x_le.c:493 eelf32_tic6x_linux_be.c:493 +#: eelf32_tic6x_linux_le.c:493 eelf32_x86_64.c:8476 eelf32am33lin.c:363 #: eelf32b4300.c:608 eelf32bfin.c:377 eelf32bfinfd.c:417 eelf32bmip.c:608 #: eelf32bmipn32.c:622 eelf32briscv.c:482 eelf32briscv_ilp32.c:482 #: eelf32briscv_ilp32f.c:482 eelf32bsmip.c:622 eelf32btsmip.c:608 #: eelf32btsmip_fbsd.c:608 eelf32btsmipn32.c:608 eelf32btsmipn32_fbsd.c:608 #: eelf32cr16.c:391 eelf32crx.c:278 eelf32ebmip.c:608 eelf32ebmipvxworks.c:639 #: eelf32elmip.c:608 eelf32elmipvxworks.c:639 eelf32epiphany.c:266 -#: eelf32epiphany_4x4.c:243 eelf32frvfd.c:403 eelf32ip2k.c:266 eelf32kvx.c:629 +#: eelf32epiphany_4x4.c:243 eelf32frvfd.c:403 eelf32ip2k.c:266 eelf32kvx.c:628 #: eelf32l4300.c:608 eelf32lm32.c:266 eelf32lm32fd.c:403 eelf32lmip.c:608 #: eelf32loongarch.c:460 eelf32lppc.c:633 eelf32lppclinux.c:633 #: eelf32lppcnto.c:633 eelf32lppcsim.c:633 eelf32lr5900.c:511 @@ -4078,22 +4088,22 @@ msgstr "%F%P: неиÑправан Ñтил хеша „%s“\n" #: eelf32rl78.c:266 eelf32rx.c:288 eelf32rx_linux.c:279 eelf32tilegx.c:404 #: eelf32tilegx_be.c:404 eelf32tilepro.c:404 eelf32vax.c:363 eelf32visium.c:241 #: eelf32xstormy16.c:252 eelf32xtensa.c:2307 eelf32z80.c:268 eelf64_aix.c:363 -#: eelf64_ia64.c:432 eelf64_ia64_fbsd.c:432 eelf64_s390.c:501 +#: eelf64_ia64.c:432 eelf64_ia64_fbsd.c:432 eelf64_s390.c:506 #: eelf64_sparc.c:404 eelf64_sparc_fbsd.c:404 eelf64_sparc_sol2.c:536 -#: eelf64alpha.c:492 eelf64alpha_fbsd.c:492 eelf64alpha_nbsd.c:492 +#: eelf64alpha.c:468 eelf64alpha_fbsd.c:468 eelf64alpha_nbsd.c:468 #: eelf64bmip.c:622 eelf64bpf.c:241 eelf64briscv.c:482 eelf64briscv_lp64.c:482 #: eelf64briscv_lp64f.c:482 eelf64btsmip.c:608 eelf64btsmip_fbsd.c:608 -#: eelf64hppa.c:313 eelf64kvx.c:629 eelf64kvx_linux.c:666 eelf64loongarch.c:460 -#: eelf64lppc.c:1068 eelf64lppc_fbsd.c:1068 eelf64lriscv.c:482 +#: eelf64hppa.c:313 eelf64kvx.c:628 eelf64kvx_linux.c:666 eelf64loongarch.c:460 +#: eelf64lppc.c:1069 eelf64lppc_fbsd.c:1069 eelf64lriscv.c:482 #: eelf64lriscv_lp64.c:482 eelf64lriscv_lp64f.c:482 eelf64ltsmip.c:608 -#: eelf64ltsmip_fbsd.c:608 eelf64mmix.c:474 eelf64ppc.c:1068 -#: eelf64ppc_fbsd.c:1068 eelf64rdos.c:425 eelf64tilegx.c:404 +#: eelf64ltsmip_fbsd.c:608 eelf64mmix.c:471 eelf64ppc.c:1069 +#: eelf64ppc_fbsd.c:1069 eelf64rdos.c:457 eelf64tilegx.c:404 #: eelf64tilegx_be.c:404 eelf_i386.c:7902 eelf_i386_be.c:387 #: eelf_i386_fbsd.c:434 eelf_i386_haiku.c:434 eelf_i386_ldso.c:394 #: eelf_i386_sol2.c:566 eelf_i386_vxworks.c:460 eelf_iamcu.c:434 -#: eelf_mipsel_haiku.c:608 eelf_s390.c:404 eelf_x86_64.c:8444 -#: eelf_x86_64_cloudabi.c:442 eelf_x86_64_fbsd.c:442 eelf_x86_64_haiku.c:442 -#: eelf_x86_64_sol2.c:574 eh8300elf.c:266 eh8300elf_linux.c:266 +#: eelf_mipsel_haiku.c:608 eelf_s390.c:404 eelf_x86_64.c:8476 +#: eelf_x86_64_cloudabi.c:474 eelf_x86_64_fbsd.c:474 eelf_x86_64_haiku.c:474 +#: eelf_x86_64_sol2.c:606 eh8300elf.c:266 eh8300elf_linux.c:266 #: eh8300helf.c:266 eh8300helf_linux.c:266 eh8300hnelf.c:266 eh8300self.c:266 #: eh8300self_linux.c:266 eh8300snelf.c:266 eh8300sxelf.c:266 #: eh8300sxelf_linux.c:266 eh8300sxnelf.c:266 ehppa64linux.c:363 ehppaelf.c:520 @@ -4108,14 +4118,14 @@ msgstr "%F%P: неиÑправан Ñтил хеша „%s“\n" #: eshelf_vxworks.c:395 eshlelf.c:363 eshlelf_fd.c:404 eshlelf_linux.c:404 #: eshlelf_nbsd.c:363 eshlelf_nto.c:363 eshlelf_vxworks.c:395 ev850.c:288 #: ev850_rh850.c:288 -msgid "%F%P: invalid maximum page size `%s'\n" -msgstr "%F%P: неиÑправна највећа величина Ñтранице „%s“\n" - -#: eaarch64cloudabi.c:803 eaarch64cloudabib.c:803 eaarch64elf.c:802 -#: eaarch64elf32.c:802 eaarch64elf32b.c:802 eaarch64elfb.c:802 -#: eaarch64fbsd.c:803 eaarch64fbsdb.c:803 eaarch64haiku.c:803 -#: eaarch64linux.c:803 eaarch64linux32.c:803 eaarch64linux32b.c:803 -#: eaarch64linuxb.c:803 eaarch64nto.c:965 earcelf.c:323 earclinux.c:414 +msgid "%P: invalid maximum page size `%s'\n" +msgstr "%P: неиÑправна највећа величина Ñтранице „%s“\n" + +#: eaarch64cloudabi.c:834 eaarch64cloudabib.c:834 eaarch64elf.c:834 +#: eaarch64elf32.c:834 eaarch64elf32b.c:834 eaarch64elfb.c:834 +#: eaarch64fbsd.c:834 eaarch64fbsdb.c:834 eaarch64haiku.c:834 +#: eaarch64linux.c:834 eaarch64linux32.c:834 eaarch64linux32b.c:834 +#: eaarch64linuxb.c:834 eaarch64nto.c:996 earcelf.c:323 earclinux.c:414 #: earclinux_nps.c:414 earcv2elf.c:251 earcv2elfx.c:251 earmelf.c:938 #: earmelf_fbsd.c:938 earmelf_fuchsia.c:939 earmelf_haiku.c:939 #: earmelf_linux.c:939 earmelf_linux_eabi.c:939 earmelf_linux_fdpiceabi.c:939 @@ -4130,16 +4140,16 @@ msgstr "%F%P: неиÑправна највећа величина ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ #: eavrxmega7.c:467 ecriself.c:276 ecrislinux.c:374 ecskyelf.c:515 #: ecskyelf_linux.c:653 ed10velf.c:251 eelf32_sparc.c:414 #: eelf32_sparc_sol2.c:546 eelf32_sparc_vxworks.c:446 eelf32_spu.c:835 -#: eelf32_tic6x_be.c:505 eelf32_tic6x_elf_be.c:505 eelf32_tic6x_elf_le.c:505 -#: eelf32_tic6x_le.c:505 eelf32_tic6x_linux_be.c:505 -#: eelf32_tic6x_linux_le.c:505 eelf32_x86_64.c:8454 eelf32am33lin.c:373 +#: eelf32_tic6x_be.c:503 eelf32_tic6x_elf_be.c:503 eelf32_tic6x_elf_le.c:503 +#: eelf32_tic6x_le.c:503 eelf32_tic6x_linux_be.c:503 +#: eelf32_tic6x_linux_le.c:503 eelf32_x86_64.c:8486 eelf32am33lin.c:373 #: eelf32b4300.c:618 eelf32bfin.c:387 eelf32bfinfd.c:427 eelf32bmip.c:618 #: eelf32bmipn32.c:632 eelf32briscv.c:492 eelf32briscv_ilp32.c:492 #: eelf32briscv_ilp32f.c:492 eelf32bsmip.c:632 eelf32btsmip.c:618 #: eelf32btsmip_fbsd.c:618 eelf32btsmipn32.c:618 eelf32btsmipn32_fbsd.c:618 #: eelf32cr16.c:401 eelf32crx.c:288 eelf32ebmip.c:618 eelf32ebmipvxworks.c:649 #: eelf32elmip.c:618 eelf32elmipvxworks.c:649 eelf32epiphany.c:276 -#: eelf32epiphany_4x4.c:253 eelf32frvfd.c:413 eelf32ip2k.c:276 eelf32kvx.c:639 +#: eelf32epiphany_4x4.c:253 eelf32frvfd.c:413 eelf32ip2k.c:276 eelf32kvx.c:638 #: eelf32l4300.c:618 eelf32lm32.c:276 eelf32lm32fd.c:413 eelf32lmip.c:618 #: eelf32loongarch.c:470 eelf32lppc.c:643 eelf32lppclinux.c:643 #: eelf32lppcnto.c:643 eelf32lppcsim.c:643 eelf32lr5900.c:521 @@ -4155,22 +4165,22 @@ msgstr "%F%P: неиÑправна највећа величина ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ #: eelf32rl78.c:276 eelf32rx.c:298 eelf32rx_linux.c:289 eelf32tilegx.c:414 #: eelf32tilegx_be.c:414 eelf32tilepro.c:414 eelf32vax.c:373 eelf32visium.c:251 #: eelf32xstormy16.c:262 eelf32xtensa.c:2317 eelf32z80.c:278 eelf64_aix.c:373 -#: eelf64_ia64.c:442 eelf64_ia64_fbsd.c:442 eelf64_s390.c:511 +#: eelf64_ia64.c:442 eelf64_ia64_fbsd.c:442 eelf64_s390.c:516 #: eelf64_sparc.c:414 eelf64_sparc_fbsd.c:414 eelf64_sparc_sol2.c:546 -#: eelf64alpha.c:502 eelf64alpha_fbsd.c:502 eelf64alpha_nbsd.c:502 +#: eelf64alpha.c:478 eelf64alpha_fbsd.c:478 eelf64alpha_nbsd.c:478 #: eelf64bmip.c:632 eelf64bpf.c:251 eelf64briscv.c:492 eelf64briscv_lp64.c:492 #: eelf64briscv_lp64f.c:492 eelf64btsmip.c:618 eelf64btsmip_fbsd.c:618 -#: eelf64hppa.c:323 eelf64kvx.c:639 eelf64kvx_linux.c:676 eelf64loongarch.c:470 -#: eelf64lppc.c:1078 eelf64lppc_fbsd.c:1078 eelf64lriscv.c:492 +#: eelf64hppa.c:323 eelf64kvx.c:638 eelf64kvx_linux.c:676 eelf64loongarch.c:470 +#: eelf64lppc.c:1079 eelf64lppc_fbsd.c:1079 eelf64lriscv.c:492 #: eelf64lriscv_lp64.c:492 eelf64lriscv_lp64f.c:492 eelf64ltsmip.c:618 -#: eelf64ltsmip_fbsd.c:618 eelf64mmix.c:484 eelf64ppc.c:1078 -#: eelf64ppc_fbsd.c:1078 eelf64rdos.c:435 eelf64tilegx.c:414 +#: eelf64ltsmip_fbsd.c:618 eelf64mmix.c:481 eelf64ppc.c:1079 +#: eelf64ppc_fbsd.c:1079 eelf64rdos.c:467 eelf64tilegx.c:414 #: eelf64tilegx_be.c:414 eelf_i386.c:7912 eelf_i386_be.c:397 #: eelf_i386_fbsd.c:444 eelf_i386_haiku.c:444 eelf_i386_ldso.c:404 #: eelf_i386_sol2.c:576 eelf_i386_vxworks.c:470 eelf_iamcu.c:444 -#: eelf_mipsel_haiku.c:618 eelf_s390.c:414 eelf_x86_64.c:8454 -#: eelf_x86_64_cloudabi.c:452 eelf_x86_64_fbsd.c:452 eelf_x86_64_haiku.c:452 -#: eelf_x86_64_sol2.c:584 eh8300elf.c:276 eh8300elf_linux.c:276 +#: eelf_mipsel_haiku.c:618 eelf_s390.c:414 eelf_x86_64.c:8486 +#: eelf_x86_64_cloudabi.c:484 eelf_x86_64_fbsd.c:484 eelf_x86_64_haiku.c:484 +#: eelf_x86_64_sol2.c:616 eh8300elf.c:276 eh8300elf_linux.c:276 #: eh8300helf.c:276 eh8300helf_linux.c:276 eh8300hnelf.c:276 eh8300self.c:276 #: eh8300self_linux.c:276 eh8300snelf.c:276 eh8300sxelf.c:276 #: eh8300sxelf_linux.c:276 eh8300sxnelf.c:276 ehppa64linux.c:373 ehppaelf.c:530 @@ -4185,14 +4195,14 @@ msgstr "%F%P: неиÑправна највећа величина ÑÑ‚Ñ€Ð°Ð½Ð¸Ñ #: eshelf_vxworks.c:405 eshlelf.c:373 eshlelf_fd.c:414 eshlelf_linux.c:414 #: eshlelf_nbsd.c:373 eshlelf_nto.c:373 eshlelf_vxworks.c:405 ev850.c:298 #: ev850_rh850.c:298 -msgid "%F%P: invalid common page size `%s'\n" -msgstr "%F%P: неиÑправна општа величина Ñтранице „%s“\n" - -#: eaarch64cloudabi.c:812 eaarch64cloudabib.c:812 eaarch64elf.c:811 -#: eaarch64elf32.c:811 eaarch64elf32b.c:811 eaarch64elfb.c:811 -#: eaarch64fbsd.c:812 eaarch64fbsdb.c:812 eaarch64haiku.c:812 -#: eaarch64linux.c:812 eaarch64linux32.c:812 eaarch64linux32b.c:812 -#: eaarch64linuxb.c:812 eaarch64nto.c:974 eaarch64nto.c:1157 earcelf.c:332 +msgid "%P: invalid common page size `%s'\n" +msgstr "%P: неиÑправна општа величина Ñтранице „%s“\n" + +#: eaarch64cloudabi.c:843 eaarch64cloudabib.c:843 eaarch64elf.c:843 +#: eaarch64elf32.c:843 eaarch64elf32b.c:843 eaarch64elfb.c:843 +#: eaarch64fbsd.c:843 eaarch64fbsdb.c:843 eaarch64haiku.c:843 +#: eaarch64linux.c:843 eaarch64linux32.c:843 eaarch64linux32b.c:843 +#: eaarch64linuxb.c:843 eaarch64nto.c:1005 eaarch64nto.c:1192 earcelf.c:332 #: earclinux.c:423 earclinux_nps.c:423 earcv2elf.c:260 earcv2elfx.c:260 #: earmelf.c:947 earmelf_fbsd.c:947 earmelf_fuchsia.c:948 earmelf_haiku.c:948 #: earmelf_linux.c:948 earmelf_linux_eabi.c:948 earmelf_linux_fdpiceabi.c:948 @@ -4207,16 +4217,16 @@ msgstr "%F%P: неиÑправна општа величина Ñтранице #: eavrxmega7.c:476 ecriself.c:285 ecrislinux.c:383 ecskyelf.c:524 #: ecskyelf_linux.c:662 ed10velf.c:260 eelf32_sparc.c:423 #: eelf32_sparc_sol2.c:555 eelf32_sparc_vxworks.c:455 eelf32_spu.c:844 -#: eelf32_tic6x_be.c:514 eelf32_tic6x_elf_be.c:514 eelf32_tic6x_elf_le.c:514 -#: eelf32_tic6x_le.c:514 eelf32_tic6x_linux_be.c:514 -#: eelf32_tic6x_linux_le.c:514 eelf32_x86_64.c:8463 eelf32am33lin.c:382 +#: eelf32_tic6x_be.c:512 eelf32_tic6x_elf_be.c:512 eelf32_tic6x_elf_le.c:512 +#: eelf32_tic6x_le.c:512 eelf32_tic6x_linux_be.c:512 +#: eelf32_tic6x_linux_le.c:512 eelf32_x86_64.c:8495 eelf32am33lin.c:382 #: eelf32b4300.c:627 eelf32bfin.c:396 eelf32bfinfd.c:436 eelf32bmip.c:627 #: eelf32bmipn32.c:641 eelf32briscv.c:501 eelf32briscv_ilp32.c:501 #: eelf32briscv_ilp32f.c:501 eelf32bsmip.c:641 eelf32btsmip.c:627 #: eelf32btsmip_fbsd.c:627 eelf32btsmipn32.c:627 eelf32btsmipn32_fbsd.c:627 #: eelf32cr16.c:410 eelf32crx.c:297 eelf32ebmip.c:627 eelf32ebmipvxworks.c:658 #: eelf32elmip.c:627 eelf32elmipvxworks.c:658 eelf32epiphany.c:285 -#: eelf32epiphany_4x4.c:262 eelf32frvfd.c:422 eelf32ip2k.c:285 eelf32kvx.c:648 +#: eelf32epiphany_4x4.c:262 eelf32frvfd.c:422 eelf32ip2k.c:285 eelf32kvx.c:647 #: eelf32l4300.c:627 eelf32lm32.c:285 eelf32lm32fd.c:422 eelf32lmip.c:627 #: eelf32loongarch.c:479 eelf32lppc.c:652 eelf32lppclinux.c:652 #: eelf32lppcnto.c:652 eelf32lppcsim.c:652 eelf32lr5900.c:530 @@ -4232,22 +4242,22 @@ msgstr "%F%P: неиÑправна општа величина Ñтранице #: eelf32rl78.c:285 eelf32rx.c:307 eelf32rx_linux.c:298 eelf32tilegx.c:423 #: eelf32tilegx_be.c:423 eelf32tilepro.c:423 eelf32vax.c:382 eelf32visium.c:260 #: eelf32xstormy16.c:271 eelf32xtensa.c:2326 eelf32z80.c:287 eelf64_aix.c:382 -#: eelf64_ia64.c:451 eelf64_ia64_fbsd.c:451 eelf64_s390.c:520 +#: eelf64_ia64.c:451 eelf64_ia64_fbsd.c:451 eelf64_s390.c:525 #: eelf64_sparc.c:423 eelf64_sparc_fbsd.c:423 eelf64_sparc_sol2.c:555 -#: eelf64alpha.c:511 eelf64alpha_fbsd.c:511 eelf64alpha_nbsd.c:511 +#: eelf64alpha.c:487 eelf64alpha_fbsd.c:487 eelf64alpha_nbsd.c:487 #: eelf64bmip.c:641 eelf64bpf.c:260 eelf64briscv.c:501 eelf64briscv_lp64.c:501 #: eelf64briscv_lp64f.c:501 eelf64btsmip.c:627 eelf64btsmip_fbsd.c:627 -#: eelf64hppa.c:332 eelf64kvx.c:648 eelf64kvx_linux.c:685 eelf64loongarch.c:479 -#: eelf64lppc.c:1087 eelf64lppc_fbsd.c:1087 eelf64lriscv.c:501 +#: eelf64hppa.c:332 eelf64kvx.c:647 eelf64kvx_linux.c:685 eelf64loongarch.c:479 +#: eelf64lppc.c:1088 eelf64lppc_fbsd.c:1088 eelf64lriscv.c:501 #: eelf64lriscv_lp64.c:501 eelf64lriscv_lp64f.c:501 eelf64ltsmip.c:627 -#: eelf64ltsmip_fbsd.c:627 eelf64mmix.c:493 eelf64ppc.c:1087 -#: eelf64ppc_fbsd.c:1087 eelf64rdos.c:444 eelf64tilegx.c:423 +#: eelf64ltsmip_fbsd.c:627 eelf64mmix.c:490 eelf64ppc.c:1088 +#: eelf64ppc_fbsd.c:1088 eelf64rdos.c:476 eelf64tilegx.c:423 #: eelf64tilegx_be.c:423 eelf_i386.c:7921 eelf_i386_be.c:406 #: eelf_i386_fbsd.c:453 eelf_i386_haiku.c:453 eelf_i386_ldso.c:413 #: eelf_i386_sol2.c:585 eelf_i386_vxworks.c:479 eelf_iamcu.c:453 -#: eelf_mipsel_haiku.c:627 eelf_s390.c:423 eelf_x86_64.c:8463 -#: eelf_x86_64_cloudabi.c:461 eelf_x86_64_fbsd.c:461 eelf_x86_64_haiku.c:461 -#: eelf_x86_64_sol2.c:593 eh8300elf.c:285 eh8300elf_linux.c:285 +#: eelf_mipsel_haiku.c:627 eelf_s390.c:423 eelf_x86_64.c:8495 +#: eelf_x86_64_cloudabi.c:493 eelf_x86_64_fbsd.c:493 eelf_x86_64_haiku.c:493 +#: eelf_x86_64_sol2.c:625 eh8300elf.c:285 eh8300elf_linux.c:285 #: eh8300helf.c:285 eh8300helf_linux.c:285 eh8300hnelf.c:285 eh8300self.c:285 #: eh8300self_linux.c:285 eh8300snelf.c:285 eh8300sxelf.c:285 #: eh8300sxelf_linux.c:285 eh8300sxnelf.c:285 ehppa64linux.c:382 ehppaelf.c:539 @@ -4262,14 +4272,14 @@ msgstr "%F%P: неиÑправна општа величина Ñтранице #: eshelf_vxworks.c:414 eshlelf.c:382 eshlelf_fd.c:423 eshlelf_linux.c:423 #: eshlelf_nbsd.c:382 eshlelf_nto.c:382 eshlelf_vxworks.c:414 ev850.c:307 #: ev850_rh850.c:307 -msgid "%F%P: invalid stack size `%s'\n" -msgstr "%F%P: неиÑправна величина Ñпремника „%s“\n" - -#: eaarch64cloudabi.c:851 eaarch64cloudabib.c:851 eaarch64elf.c:850 -#: eaarch64elf32.c:850 eaarch64elf32b.c:850 eaarch64elfb.c:850 -#: eaarch64fbsd.c:851 eaarch64fbsdb.c:851 eaarch64haiku.c:851 -#: eaarch64linux.c:851 eaarch64linux32.c:851 eaarch64linux32b.c:851 -#: eaarch64linuxb.c:851 eaarch64nto.c:1013 earcelf.c:371 earclinux.c:462 +msgid "%P: invalid stack size `%s'\n" +msgstr "%P: неиÑправна величина Ñпремника „%s“\n" + +#: eaarch64cloudabi.c:882 eaarch64cloudabib.c:882 eaarch64elf.c:882 +#: eaarch64elf32.c:882 eaarch64elf32b.c:882 eaarch64elfb.c:882 +#: eaarch64fbsd.c:882 eaarch64fbsdb.c:882 eaarch64haiku.c:882 +#: eaarch64linux.c:882 eaarch64linux32.c:882 eaarch64linux32b.c:882 +#: eaarch64linuxb.c:882 eaarch64nto.c:1044 earcelf.c:371 earclinux.c:462 #: earclinux_nps.c:462 earcv2elf.c:299 earcv2elfx.c:299 earmelf.c:986 #: earmelf_fbsd.c:986 earmelf_fuchsia.c:987 earmelf_haiku.c:987 #: earmelf_linux.c:987 earmelf_linux_eabi.c:987 earmelf_linux_fdpiceabi.c:987 @@ -4284,16 +4294,16 @@ msgstr "%F%P: неиÑправна величина Ñпремника „%s“\ #: eavrxmega7.c:515 ecriself.c:324 ecrislinux.c:422 ecskyelf.c:563 #: ecskyelf_linux.c:701 ed10velf.c:299 eelf32_sparc.c:462 #: eelf32_sparc_sol2.c:594 eelf32_sparc_vxworks.c:494 eelf32_spu.c:883 -#: eelf32_tic6x_be.c:553 eelf32_tic6x_elf_be.c:553 eelf32_tic6x_elf_le.c:553 -#: eelf32_tic6x_le.c:553 eelf32_tic6x_linux_be.c:553 -#: eelf32_tic6x_linux_le.c:553 eelf32_x86_64.c:8502 eelf32am33lin.c:421 +#: eelf32_tic6x_be.c:551 eelf32_tic6x_elf_be.c:551 eelf32_tic6x_elf_le.c:551 +#: eelf32_tic6x_le.c:551 eelf32_tic6x_linux_be.c:551 +#: eelf32_tic6x_linux_le.c:551 eelf32_x86_64.c:8534 eelf32am33lin.c:421 #: eelf32b4300.c:666 eelf32bfin.c:435 eelf32bfinfd.c:475 eelf32bmip.c:666 #: eelf32bmipn32.c:680 eelf32briscv.c:540 eelf32briscv_ilp32.c:540 #: eelf32briscv_ilp32f.c:540 eelf32bsmip.c:680 eelf32btsmip.c:666 #: eelf32btsmip_fbsd.c:666 eelf32btsmipn32.c:666 eelf32btsmipn32_fbsd.c:666 #: eelf32cr16.c:449 eelf32crx.c:336 eelf32ebmip.c:666 eelf32ebmipvxworks.c:697 #: eelf32elmip.c:666 eelf32elmipvxworks.c:697 eelf32epiphany.c:324 -#: eelf32epiphany_4x4.c:301 eelf32frvfd.c:461 eelf32ip2k.c:324 eelf32kvx.c:687 +#: eelf32epiphany_4x4.c:301 eelf32frvfd.c:461 eelf32ip2k.c:324 eelf32kvx.c:686 #: eelf32l4300.c:666 eelf32lm32.c:324 eelf32lm32fd.c:461 eelf32lmip.c:666 #: eelf32loongarch.c:518 eelf32lppc.c:691 eelf32lppclinux.c:691 #: eelf32lppcnto.c:691 eelf32lppcsim.c:691 eelf32lr5900.c:569 @@ -4309,22 +4319,22 @@ msgstr "%F%P: неиÑправна величина Ñпремника „%s“\ #: eelf32rl78.c:324 eelf32rx.c:346 eelf32rx_linux.c:337 eelf32tilegx.c:462 #: eelf32tilegx_be.c:462 eelf32tilepro.c:462 eelf32vax.c:421 eelf32visium.c:299 #: eelf32xstormy16.c:310 eelf32xtensa.c:2365 eelf32z80.c:326 eelf64_aix.c:421 -#: eelf64_ia64.c:490 eelf64_ia64_fbsd.c:490 eelf64_s390.c:559 +#: eelf64_ia64.c:490 eelf64_ia64_fbsd.c:490 eelf64_s390.c:564 #: eelf64_sparc.c:462 eelf64_sparc_fbsd.c:462 eelf64_sparc_sol2.c:594 -#: eelf64alpha.c:550 eelf64alpha_fbsd.c:550 eelf64alpha_nbsd.c:550 +#: eelf64alpha.c:526 eelf64alpha_fbsd.c:526 eelf64alpha_nbsd.c:526 #: eelf64bmip.c:680 eelf64bpf.c:299 eelf64briscv.c:540 eelf64briscv_lp64.c:540 #: eelf64briscv_lp64f.c:540 eelf64btsmip.c:666 eelf64btsmip_fbsd.c:666 -#: eelf64hppa.c:371 eelf64kvx.c:687 eelf64kvx_linux.c:724 eelf64loongarch.c:518 -#: eelf64lppc.c:1126 eelf64lppc_fbsd.c:1126 eelf64lriscv.c:540 +#: eelf64hppa.c:371 eelf64kvx.c:686 eelf64kvx_linux.c:724 eelf64loongarch.c:518 +#: eelf64lppc.c:1127 eelf64lppc_fbsd.c:1127 eelf64lriscv.c:540 #: eelf64lriscv_lp64.c:540 eelf64lriscv_lp64f.c:540 eelf64ltsmip.c:666 -#: eelf64ltsmip_fbsd.c:666 eelf64mmix.c:532 eelf64ppc.c:1126 -#: eelf64ppc_fbsd.c:1126 eelf64rdos.c:483 eelf64tilegx.c:462 +#: eelf64ltsmip_fbsd.c:666 eelf64mmix.c:529 eelf64ppc.c:1127 +#: eelf64ppc_fbsd.c:1127 eelf64rdos.c:515 eelf64tilegx.c:462 #: eelf64tilegx_be.c:462 eelf_i386.c:7960 eelf_i386_be.c:445 #: eelf_i386_fbsd.c:492 eelf_i386_haiku.c:492 eelf_i386_ldso.c:452 #: eelf_i386_sol2.c:624 eelf_i386_vxworks.c:518 eelf_iamcu.c:492 -#: eelf_mipsel_haiku.c:666 eelf_s390.c:462 eelf_x86_64.c:8502 -#: eelf_x86_64_cloudabi.c:500 eelf_x86_64_fbsd.c:500 eelf_x86_64_haiku.c:500 -#: eelf_x86_64_sol2.c:632 eh8300elf.c:324 eh8300elf_linux.c:324 +#: eelf_mipsel_haiku.c:666 eelf_s390.c:462 eelf_x86_64.c:8534 +#: eelf_x86_64_cloudabi.c:532 eelf_x86_64_fbsd.c:532 eelf_x86_64_haiku.c:532 +#: eelf_x86_64_sol2.c:664 eh8300elf.c:324 eh8300elf_linux.c:324 #: eh8300helf.c:324 eh8300helf_linux.c:324 eh8300hnelf.c:324 eh8300self.c:324 #: eh8300self_linux.c:324 eh8300snelf.c:324 eh8300sxelf.c:324 #: eh8300sxelf_linux.c:324 eh8300sxnelf.c:324 ehppa64linux.c:421 ehppaelf.c:578 @@ -4339,22 +4349,22 @@ msgstr "%F%P: неиÑправна величина Ñпремника „%s“\ #: eshelf_vxworks.c:453 eshlelf.c:421 eshlelf_fd.c:462 eshlelf_linux.c:462 #: eshlelf_nbsd.c:421 eshlelf_nto.c:421 eshlelf_vxworks.c:453 ev850.c:346 #: ev850_rh850.c:346 -msgid "%F%P: invalid visibility in `-z %s'; must be default, internal, hidden, or protected" -msgstr "%F%P: неиÑправна видљивоÑÑ‚ у „-z %s“; мора бити оÑновна, унутрашња, Ñкривена или заштићена" - -#: eaarch64cloudabi.c:971 eaarch64cloudabib.c:971 eaarch64elf.c:971 -#: eaarch64elf32.c:971 eaarch64elf32b.c:971 eaarch64elfb.c:971 -#: eaarch64fbsd.c:976 eaarch64fbsdb.c:976 eaarch64haiku.c:971 -#: eaarch64linux.c:976 eaarch64linux32.c:976 eaarch64linux32b.c:976 -#: eaarch64linuxb.c:976 eaarch64nto.c:1133 +msgid "%P: invalid visibility in `-z %s'; must be default, internal, hidden, or protected" +msgstr "%P: неиÑправна видљивоÑÑ‚ у „-z %s“; мора бити оÑновна, унутрашња, Ñкривена или заштићена" + +#: eaarch64cloudabi.c:1006 eaarch64cloudabib.c:1006 eaarch64elf.c:1011 +#: eaarch64elf32.c:1011 eaarch64elf32b.c:1011 eaarch64elfb.c:1011 +#: eaarch64fbsd.c:1011 eaarch64fbsdb.c:1011 eaarch64haiku.c:1006 +#: eaarch64linux.c:1011 eaarch64linux32.c:1011 eaarch64linux32b.c:1011 +#: eaarch64linuxb.c:1011 eaarch64nto.c:1168 msgid "%P: error: unrecognized option for --fix-cortex-a53-843419: %s\n" msgstr "%P: грешка: непозната опција за „--fix-cortex-a53-843419“: %s\n" -#: eaarch64cloudabi.c:1000 eaarch64cloudabib.c:1000 eaarch64elf.c:1000 -#: eaarch64elf32.c:1000 eaarch64elf32b.c:1000 eaarch64elfb.c:1000 -#: eaarch64fbsd.c:1005 eaarch64fbsdb.c:1005 eaarch64haiku.c:1000 -#: eaarch64linux.c:1005 eaarch64linux32.c:1005 eaarch64linux32b.c:1005 -#: eaarch64linuxb.c:1005 eaarch64nto.c:1178 earmelf.c:1191 earmelf_fbsd.c:1191 +#: eaarch64cloudabi.c:1035 eaarch64cloudabib.c:1035 eaarch64elf.c:1040 +#: eaarch64elf32.c:1040 eaarch64elf32b.c:1040 eaarch64elfb.c:1040 +#: eaarch64fbsd.c:1040 eaarch64fbsdb.c:1040 eaarch64haiku.c:1035 +#: eaarch64linux.c:1040 eaarch64linux32.c:1040 eaarch64linux32b.c:1040 +#: eaarch64linuxb.c:1040 eaarch64nto.c:1213 earmelf.c:1191 earmelf_fbsd.c:1191 #: earmelf_fuchsia.c:1196 earmelf_haiku.c:1196 earmelf_linux.c:1196 #: earmelf_linux_eabi.c:1196 earmelf_linux_fdpiceabi.c:1196 earmelf_nacl.c:1196 #: earmelf_nbsd.c:1191 earmelf_phoenix.c:1196 earmelf_vxworks.c:1227 @@ -4370,11 +4380,11 @@ msgstr "" " --no-enum-size-warning Ðе упозорава о објектима Ñа неÑаглаÑним\n" " величинама набрајања\n" -#: eaarch64cloudabi.c:1002 eaarch64cloudabib.c:1002 eaarch64elf.c:1002 -#: eaarch64elf32.c:1002 eaarch64elf32b.c:1002 eaarch64elfb.c:1002 -#: eaarch64fbsd.c:1007 eaarch64fbsdb.c:1007 eaarch64haiku.c:1002 -#: eaarch64linux.c:1007 eaarch64linux32.c:1007 eaarch64linux32b.c:1007 -#: eaarch64linuxb.c:1007 eaarch64nto.c:1180 earmelf.c:1193 earmelf_fbsd.c:1193 +#: eaarch64cloudabi.c:1037 eaarch64cloudabib.c:1037 eaarch64elf.c:1042 +#: eaarch64elf32.c:1042 eaarch64elf32b.c:1042 eaarch64elfb.c:1042 +#: eaarch64fbsd.c:1042 eaarch64fbsdb.c:1042 eaarch64haiku.c:1037 +#: eaarch64linux.c:1042 eaarch64linux32.c:1042 eaarch64linux32b.c:1042 +#: eaarch64linuxb.c:1042 eaarch64nto.c:1215 earmelf.c:1193 earmelf_fbsd.c:1193 #: earmelf_fuchsia.c:1198 earmelf_haiku.c:1198 earmelf_linux.c:1198 #: earmelf_linux_eabi.c:1198 earmelf_linux_fdpiceabi.c:1198 earmelf_nacl.c:1198 #: earmelf_nbsd.c:1193 earmelf_phoenix.c:1198 earmelf_vxworks.c:1229 @@ -4390,11 +4400,11 @@ msgstr "" " --no-wchar-size-warning Ðе упозорава о објектима Ñа неÑаглаÑним\n" " „wchar_t“ величинама\n" -#: eaarch64cloudabi.c:1004 eaarch64cloudabib.c:1004 eaarch64elf.c:1004 -#: eaarch64elf32.c:1004 eaarch64elf32b.c:1004 eaarch64elfb.c:1004 -#: eaarch64fbsd.c:1009 eaarch64fbsdb.c:1009 eaarch64haiku.c:1004 -#: eaarch64linux.c:1009 eaarch64linux32.c:1009 eaarch64linux32b.c:1009 -#: eaarch64linuxb.c:1009 eaarch64nto.c:1182 earmelf.c:1195 earmelf_fbsd.c:1195 +#: eaarch64cloudabi.c:1039 eaarch64cloudabib.c:1039 eaarch64elf.c:1044 +#: eaarch64elf32.c:1044 eaarch64elf32b.c:1044 eaarch64elfb.c:1044 +#: eaarch64fbsd.c:1044 eaarch64fbsdb.c:1044 eaarch64haiku.c:1039 +#: eaarch64linux.c:1044 eaarch64linux32.c:1044 eaarch64linux32b.c:1044 +#: eaarch64linuxb.c:1044 eaarch64nto.c:1217 earmelf.c:1195 earmelf_fbsd.c:1195 #: earmelf_fuchsia.c:1200 earmelf_haiku.c:1200 earmelf_linux.c:1200 #: earmelf_linux_eabi.c:1200 earmelf_linux_fdpiceabi.c:1200 earmelf_nacl.c:1200 #: earmelf_nbsd.c:1195 earmelf_phoenix.c:1200 earmelf_vxworks.c:1231 @@ -4406,11 +4416,11 @@ msgstr "" msgid " --pic-veneer Always generate PIC interworking veneers\n" msgstr " --pic-veneer Увек Ñтвара „PIC“ међурадне превлаке\n" -#: eaarch64cloudabi.c:1005 eaarch64cloudabib.c:1005 eaarch64elf.c:1005 -#: eaarch64elf32.c:1005 eaarch64elf32b.c:1005 eaarch64elfb.c:1005 -#: eaarch64fbsd.c:1010 eaarch64fbsdb.c:1010 eaarch64haiku.c:1005 -#: eaarch64linux.c:1010 eaarch64linux32.c:1010 eaarch64linux32b.c:1010 -#: eaarch64linuxb.c:1010 eaarch64nto.c:1183 earmelf.c:1202 earmelf_fbsd.c:1202 +#: eaarch64cloudabi.c:1040 eaarch64cloudabib.c:1040 eaarch64elf.c:1045 +#: eaarch64elf32.c:1045 eaarch64elf32b.c:1045 eaarch64elfb.c:1045 +#: eaarch64fbsd.c:1045 eaarch64fbsdb.c:1045 eaarch64haiku.c:1040 +#: eaarch64linux.c:1045 eaarch64linux32.c:1045 eaarch64linux32b.c:1045 +#: eaarch64linuxb.c:1045 eaarch64nto.c:1218 earmelf.c:1202 earmelf_fbsd.c:1202 #: earmelf_fuchsia.c:1207 earmelf_haiku.c:1207 earmelf_linux.c:1207 #: earmelf_linux_eabi.c:1207 earmelf_linux_fdpiceabi.c:1207 earmelf_nacl.c:1207 #: earmelf_nbsd.c:1202 earmelf_phoenix.c:1207 earmelf_vxworks.c:1238 @@ -4438,20 +4448,20 @@ msgstr "" " ВредноÑти +/-1 означавају да повезивач треба да\n" " изабере одговарајућу подразумеваноÑÑ‚.\n" -#: eaarch64cloudabi.c:1014 eaarch64cloudabib.c:1014 eaarch64elf.c:1014 -#: eaarch64elf32.c:1014 eaarch64elf32b.c:1014 eaarch64elfb.c:1014 -#: eaarch64fbsd.c:1019 eaarch64fbsdb.c:1019 eaarch64haiku.c:1014 -#: eaarch64linux.c:1019 eaarch64linux32.c:1019 eaarch64linux32b.c:1019 -#: eaarch64linuxb.c:1019 eaarch64nto.c:1192 +#: eaarch64cloudabi.c:1049 eaarch64cloudabib.c:1049 eaarch64elf.c:1054 +#: eaarch64elf32.c:1054 eaarch64elf32b.c:1054 eaarch64elfb.c:1054 +#: eaarch64fbsd.c:1054 eaarch64fbsdb.c:1054 eaarch64haiku.c:1049 +#: eaarch64linux.c:1054 eaarch64linux32.c:1054 eaarch64linux32b.c:1054 +#: eaarch64linuxb.c:1054 eaarch64nto.c:1227 #, c-format msgid " --fix-cortex-a53-835769 Fix erratum 835769\n" msgstr " --fix-cortex-a53-835769 Поправља грешку 835769\n" -#: eaarch64cloudabi.c:1015 eaarch64cloudabib.c:1015 eaarch64elf.c:1015 -#: eaarch64elf32.c:1015 eaarch64elf32b.c:1015 eaarch64elfb.c:1015 -#: eaarch64fbsd.c:1020 eaarch64fbsdb.c:1020 eaarch64haiku.c:1015 -#: eaarch64linux.c:1020 eaarch64linux32.c:1020 eaarch64linux32b.c:1020 -#: eaarch64linuxb.c:1020 eaarch64nto.c:1193 +#: eaarch64cloudabi.c:1050 eaarch64cloudabib.c:1050 eaarch64elf.c:1055 +#: eaarch64elf32.c:1055 eaarch64elf32b.c:1055 eaarch64elfb.c:1055 +#: eaarch64fbsd.c:1055 eaarch64fbsdb.c:1055 eaarch64haiku.c:1050 +#: eaarch64linux.c:1055 eaarch64linux32.c:1055 eaarch64linux32b.c:1055 +#: eaarch64linuxb.c:1055 eaarch64nto.c:1228 #, c-format msgid "" " --fix-cortex-a53-843419[=full|adr|adrp] Fix erratum 843419 and optionally specify which workaround to use.\n" @@ -4476,20 +4486,20 @@ msgstr "" " инÑтрукцију у „ADR“. Као такво решење ће увек кориÑтити\n" " превлаку а ово ће вам дати утрошак и делотворноÑти и величине.\n" -#: eaarch64cloudabi.c:1026 eaarch64cloudabib.c:1026 eaarch64elf.c:1026 -#: eaarch64elf32.c:1026 eaarch64elf32b.c:1026 eaarch64elfb.c:1026 -#: eaarch64fbsd.c:1031 eaarch64fbsdb.c:1031 eaarch64haiku.c:1026 -#: eaarch64linux.c:1031 eaarch64linux32.c:1031 eaarch64linux32b.c:1031 -#: eaarch64linuxb.c:1031 eaarch64nto.c:1204 +#: eaarch64cloudabi.c:1061 eaarch64cloudabib.c:1061 eaarch64elf.c:1066 +#: eaarch64elf32.c:1066 eaarch64elf32b.c:1066 eaarch64elfb.c:1066 +#: eaarch64fbsd.c:1066 eaarch64fbsdb.c:1066 eaarch64haiku.c:1061 +#: eaarch64linux.c:1066 eaarch64linux32.c:1066 eaarch64linux32b.c:1066 +#: eaarch64linuxb.c:1066 eaarch64nto.c:1239 #, c-format msgid " --no-apply-dynamic-relocs Do not apply link-time values for dynamic relocations\n" msgstr " --no-apply-dynamic-relocs Ðе примењује вредноÑти времена повезивања за динамичке премештаје\n" -#: eaarch64cloudabi.c:1027 eaarch64cloudabib.c:1027 eaarch64elf.c:1027 -#: eaarch64elf32.c:1027 eaarch64elf32b.c:1027 eaarch64elfb.c:1027 -#: eaarch64fbsd.c:1032 eaarch64fbsdb.c:1032 eaarch64haiku.c:1027 -#: eaarch64linux.c:1032 eaarch64linux32.c:1032 eaarch64linux32b.c:1032 -#: eaarch64linuxb.c:1032 eaarch64nto.c:1205 +#: eaarch64cloudabi.c:1062 eaarch64cloudabib.c:1062 eaarch64elf.c:1067 +#: eaarch64elf32.c:1067 eaarch64elf32b.c:1067 eaarch64elfb.c:1067 +#: eaarch64fbsd.c:1067 eaarch64fbsdb.c:1067 eaarch64haiku.c:1062 +#: eaarch64linux.c:1067 eaarch64linux32.c:1067 eaarch64linux32b.c:1067 +#: eaarch64linuxb.c:1067 eaarch64nto.c:1240 #, c-format msgid "" " -z force-bti Turn on Branch Target Identification mechanism and generate PLTs with BTI.\n" @@ -4498,11 +4508,11 @@ msgstr "" " -z force-bti Укључује механизам препознавања циља гране и Ñтвара „PLT“-ове Ñа „BTI“.\n" " Ствара упозорења за недоÑтајуће „BTI“ на улазима\n" -#: eaarch64cloudabi.c:1030 eaarch64cloudabib.c:1030 eaarch64elf.c:1030 -#: eaarch64elf32.c:1030 eaarch64elf32b.c:1030 eaarch64elfb.c:1030 -#: eaarch64fbsd.c:1035 eaarch64fbsdb.c:1035 eaarch64haiku.c:1030 -#: eaarch64linux.c:1035 eaarch64linux32.c:1035 eaarch64linux32b.c:1035 -#: eaarch64linuxb.c:1035 eaarch64nto.c:1208 +#: eaarch64cloudabi.c:1065 eaarch64cloudabib.c:1065 eaarch64elf.c:1070 +#: eaarch64elf32.c:1070 eaarch64elf32b.c:1070 eaarch64elfb.c:1070 +#: eaarch64fbsd.c:1070 eaarch64fbsdb.c:1070 eaarch64haiku.c:1065 +#: eaarch64linux.c:1070 eaarch64linux32.c:1070 eaarch64linux32b.c:1070 +#: eaarch64linuxb.c:1070 eaarch64nto.c:1243 #, c-format msgid "" " -z bti-report[=none|warning|error] Emit warning/error on mismatch of BTI marking between input objects and ouput.\n" @@ -4519,20 +4529,20 @@ msgstr "" " error: Издаје грешку када улазним објектима недоÑтаје BTI ознака\n" " а излаз има BTI ознаку.\n" -#: eaarch64cloudabi.c:1037 eaarch64cloudabib.c:1037 eaarch64elf.c:1037 -#: eaarch64elf32.c:1037 eaarch64elf32b.c:1037 eaarch64elfb.c:1037 -#: eaarch64fbsd.c:1042 eaarch64fbsdb.c:1042 eaarch64haiku.c:1037 -#: eaarch64linux.c:1042 eaarch64linux32.c:1042 eaarch64linux32b.c:1042 -#: eaarch64linuxb.c:1042 eaarch64nto.c:1215 +#: eaarch64cloudabi.c:1072 eaarch64cloudabib.c:1072 eaarch64elf.c:1077 +#: eaarch64elf32.c:1077 eaarch64elf32b.c:1077 eaarch64elfb.c:1077 +#: eaarch64fbsd.c:1077 eaarch64fbsdb.c:1077 eaarch64haiku.c:1072 +#: eaarch64linux.c:1077 eaarch64linux32.c:1077 eaarch64linux32b.c:1077 +#: eaarch64linuxb.c:1077 eaarch64nto.c:1250 #, c-format msgid " -z pac-plt Protect PLTs with Pointer Authentication.\n" msgstr " -z pac-plt Штити „PLT“-ове потврђивањем идентитета показивача.\n" -#: eaarch64cloudabi.c:1039 eaarch64cloudabib.c:1039 eaarch64elf.c:1039 -#: eaarch64elf32.c:1039 eaarch64elf32b.c:1039 eaarch64elfb.c:1039 -#: eaarch64fbsd.c:1044 eaarch64fbsdb.c:1044 eaarch64haiku.c:1039 -#: eaarch64linux.c:1044 eaarch64linux32.c:1044 eaarch64linux32b.c:1044 -#: eaarch64linuxb.c:1044 eaarch64nto.c:1217 +#: eaarch64cloudabi.c:1074 eaarch64cloudabib.c:1074 eaarch64elf.c:1079 +#: eaarch64elf32.c:1079 eaarch64elf32b.c:1079 eaarch64elfb.c:1079 +#: eaarch64fbsd.c:1079 eaarch64fbsdb.c:1079 eaarch64haiku.c:1074 +#: eaarch64linux.c:1079 eaarch64linux32.c:1079 eaarch64linux32b.c:1079 +#: eaarch64linuxb.c:1079 eaarch64nto.c:1252 #, c-format msgid "" " -z gcs=[always|never|implicit] Controls whether the output supports the Guarded Control Stack (GCS) mechanism.\n" @@ -4545,11 +4555,11 @@ msgstr "" " always: увек означава излаз Ñа GCS-ом.\n" " never: никада не означава излаз Ñа GCS-ом.\n" -#: eaarch64cloudabi.c:1044 eaarch64cloudabib.c:1044 eaarch64elf.c:1044 -#: eaarch64elf32.c:1044 eaarch64elf32b.c:1044 eaarch64elfb.c:1044 -#: eaarch64fbsd.c:1049 eaarch64fbsdb.c:1049 eaarch64haiku.c:1044 -#: eaarch64linux.c:1049 eaarch64linux32.c:1049 eaarch64linux32b.c:1049 -#: eaarch64linuxb.c:1049 eaarch64nto.c:1222 +#: eaarch64cloudabi.c:1079 eaarch64cloudabib.c:1079 eaarch64elf.c:1084 +#: eaarch64elf32.c:1084 eaarch64elf32b.c:1084 eaarch64elfb.c:1084 +#: eaarch64fbsd.c:1084 eaarch64fbsdb.c:1084 eaarch64haiku.c:1079 +#: eaarch64linux.c:1084 eaarch64linux32.c:1084 eaarch64linux32b.c:1084 +#: eaarch64linuxb.c:1084 eaarch64nto.c:1257 #, c-format msgid "" " -z gcs-report[=none|warning|error] Emit warning/error on mismatch of GCS marking between input objects and ouput.\n" @@ -4566,11 +4576,11 @@ msgstr "" " error: Издаје грешку када улазним објектима недоÑтаје GCS ознака\n" " а излаз има GCS ознаку.\n" -#: eaarch64cloudabi.c:1051 eaarch64cloudabib.c:1051 eaarch64elf.c:1051 -#: eaarch64elf32.c:1051 eaarch64elf32b.c:1051 eaarch64elfb.c:1051 -#: eaarch64fbsd.c:1056 eaarch64fbsdb.c:1056 eaarch64haiku.c:1051 -#: eaarch64linux.c:1056 eaarch64linux32.c:1056 eaarch64linux32b.c:1056 -#: eaarch64linuxb.c:1056 eaarch64nto.c:1229 +#: eaarch64cloudabi.c:1086 eaarch64cloudabib.c:1086 eaarch64elf.c:1091 +#: eaarch64elf32.c:1091 eaarch64elf32b.c:1091 eaarch64elfb.c:1091 +#: eaarch64fbsd.c:1091 eaarch64fbsdb.c:1091 eaarch64haiku.c:1086 +#: eaarch64linux.c:1091 eaarch64linux32.c:1091 eaarch64linux32b.c:1091 +#: eaarch64linuxb.c:1091 eaarch64nto.c:1264 #, c-format msgid "" " -z gcs-report-dynamic=none|warning|error Emit warning/error on mismatch of GCS marking between the current link\n" @@ -4590,34 +4600,68 @@ msgstr "" " а излаз има GCS ознаку.\n" "\n" -#: eaarch64nto.c:490 -msgid "%F%P: cannot create .note section in stub BFD.\n" -msgstr "%F%P: не могу да направим „.note“ одељак у BFD окрајку.\n" - -#: eaarch64nto.c:499 -msgid "%F%P: failed to create .note section\n" -msgstr "%F%P: ниÑам уÑпео да направим одељак „.note“\n" - -#: eaarch64nto.c:540 -msgid "%F%P: %pB: can't read contents of section .note: %E\n" -msgstr "%F%P: %pB: не могу да читам Ñадржаје одељка „.note“: %E\n" - -#: eaarch64nto.c:550 eaarch64nto.c:554 +#: eaarch64cloudabi.c:1094 eaarch64cloudabib.c:1094 eaarch64elf.c:1099 +#: eaarch64elf32.c:1099 eaarch64elf32b.c:1099 eaarch64elfb.c:1099 +#: eaarch64fbsd.c:1099 eaarch64fbsdb.c:1099 eaarch64haiku.c:1094 +#: eaarch64linux.c:1099 eaarch64linux32.c:1099 eaarch64linux32b.c:1099 +#: eaarch64linuxb.c:1099 eaarch64nto.c:1272 +#, c-format +msgid "" +" -z memtag-mode[=none|sync|async] Select Memory Tagging Extension mode of operation to use.\n" +" Emits a DT_AARCH64_MEMTAG_MODE dynamic tag for the binary.\n" +" This entry is only valid on the main executable. It is\n" +" ignored in the dynamically loaded objects by the loader.\n" +" none (default): Disable MTE checking of memory reads and writes.\n" +" sync: Enable precise exceptions when mismatched address and\n" +" allocation tags detected on load/store operations.\n" +" async: Enable imprecise exceptions.\n" +msgstr "" +" -z memtag-mode[=none|sync|async] Бира режим проширења означавања меморије радње за коришћење.\n" +" Емитује „DT_AARCH64_MEMTAG_MODE“ динамичку ознаку за извршну.\n" +" Овај ÑƒÐ½Ð¾Ñ Ñ˜Ðµ једино иÑправан на главној извршној. Занемарује Ñе\n" +" у динамички учитаним објектима од Ñтране учитавача.\n" +" none (оÑновно): ИÑкључује MTE проверу меморијÑког читања и пиÑања.\n" +" sync: Укључује прецизне изузетке када Ñе открију неподударне ознаке\n" +" адреÑе и доделе при радњама утовара/Ñмештања.\n" +" async: Укључује непрецизне изузетке.\n" + +#: eaarch64cloudabi.c:1103 eaarch64cloudabib.c:1103 eaarch64elf.c:1108 +#: eaarch64elf32.c:1108 eaarch64elf32b.c:1108 eaarch64elfb.c:1108 +#: eaarch64fbsd.c:1108 eaarch64fbsdb.c:1108 eaarch64haiku.c:1103 +#: eaarch64linux.c:1108 eaarch64linux32.c:1108 eaarch64linux32b.c:1108 +#: eaarch64linuxb.c:1108 eaarch64nto.c:1281 +#, c-format +msgid " -z memtag-stack Mark program stack with MTE protection.\n" +msgstr " -z memtag-stack Означава Ñпремник програма MTE заштитом.\n" + +#: eaarch64nto.c:521 +msgid "%P: cannot create .note section in stub BFD.\n" +msgstr "%P: не могу да направим „.note“ одељак у BFD окрајку.\n" + +#: eaarch64nto.c:530 +msgid "%P: failed to create .note section\n" +msgstr "%P: ниÑам уÑпео да направим одељак „.note“\n" + +#: eaarch64nto.c:571 +msgid "%P: %pB: can't read contents of section .note: %E\n" +msgstr "%P: %pB: не могу да читам Ñадржаје одељка „.note“: %E\n" + +#: eaarch64nto.c:581 eaarch64nto.c:585 msgid "%P: %pB: warning: duplicated QNX stack .note detected\n" msgstr "%P: %pB: упозорење: откривена је двоÑтрука напомена QNX Ñпремника\n" -#: eaarch64nto.c:583 -msgid "%F%P: error: --lazy-stack must follow -zstack-size=<size>\n" -msgstr "%F%P: грешка: „--lazy-stack“ мора да прати „-zstack-size=<величина>“\n" +#: eaarch64nto.c:614 +msgid "%P: error: --lazy-stack must follow -zstack-size=<size>\n" +msgstr "%P: грешка: „--lazy-stack“ мора да прати „-zstack-size=<величина>“\n" -#: eaarch64nto.c:1238 +#: eaarch64nto.c:1284 #, c-format msgid "" " --stack <size> Set size of the initial stack\n" -" --lazy-stack\t\t Set lazy allocation of stack\n" +" --lazy-stack Set lazy allocation of stack\n" msgstr "" -" --stack <величина> Подешава величину почетног Ñпремника\n" -" --lazy-stack\t\t Подешава лагану доделу Ñпремника\n" +" --stack <влчна> Подешава величину почетног Ñпремника\n" +" --lazy-stack Подешава лагану доделу Ñпремника\n" #: eaarch64pe.c:350 earm64pe.c:350 earm_wince_pe.c:338 earmpe.c:338 #: ei386pe.c:338 ei386pe_posix.c:338 ei386pep.c:350 emcorepe.c:338 eshpe.c:338 @@ -5008,29 +5052,29 @@ msgstr "%P: упозорење: лош број издања у опцији „ #: eaarch64pe.c:560 earm64pe.c:560 earm_wince_pe.c:571 earmpe.c:571 #: ei386beos.c:205 ei386pe.c:571 ei386pe_posix.c:571 ei386pep.c:560 #: emcorepe.c:571 eshpe.c:571 -msgid "%F%P: invalid subsystem type %s\n" -msgstr "%F%P: неиÑправна врÑта подÑиÑтема „%s“\n" +msgid "%P: invalid subsystem type %s\n" +msgstr "%P: неиÑправна врÑта подÑиÑтема „%s“\n" #: eaarch64pe.c:581 earm64pe.c:581 earm_wince_pe.c:592 earmpe.c:592 -#: ei386beos.c:216 ei386pe.c:592 ei386pe_posix.c:592 ei386pep.c:581 +#: ei386beos.c:215 ei386pe.c:592 ei386pe_posix.c:592 ei386pep.c:581 #: emcorepe.c:592 eshpe.c:592 -msgid "%F%P: invalid hex number for PE parameter '%s'\n" -msgstr "%F%P: неиÑправан Ñ…ÐµÐºÑ Ð±Ñ€Ð¾Ñ˜ за ПЕ параметар „%s“\n" +msgid "%P: invalid hex number for PE parameter '%s'\n" +msgstr "%P: неиÑправан Ñ…ÐµÐºÑ Ð±Ñ€Ð¾Ñ˜ за ПЕ параметар „%s“\n" #: eaarch64pe.c:598 earm64pe.c:598 earm_wince_pe.c:609 earmpe.c:609 -#: ei386beos.c:233 ei386pe.c:609 ei386pe_posix.c:609 ei386pep.c:598 +#: ei386beos.c:230 ei386pe.c:609 ei386pe_posix.c:609 ei386pep.c:598 #: emcorepe.c:609 eshpe.c:609 -msgid "%F%P: strange hex info for PE parameter '%s'\n" -msgstr "%F%P: чудни Ñ…ÐµÐºÑ Ð¿Ð¾Ð´Ð°Ñ†Ð¸ за ПЕ параметар „%s“\n" +msgid "%P: strange hex info for PE parameter '%s'\n" +msgstr "%P: чудни Ñ…ÐµÐºÑ Ð¿Ð¾Ð´Ð°Ñ†Ð¸ за ПЕ параметар „%s“\n" #: eaarch64pe.c:615 earm64pe.c:615 earm_wince_pe.c:625 earmpe.c:625 -#: eelf32mcore.c:356 ei386beos.c:249 ei386pe.c:625 ei386pe_posix.c:625 +#: eelf32mcore.c:356 ei386beos.c:245 ei386pe.c:625 ei386pe_posix.c:625 #: ei386pep.c:615 emcorepe.c:625 eshpe.c:625 -msgid "%F%P: cannot open base file %s\n" -msgstr "%F%P: не могу да отворим датотеку оÑнове „%s“\n" +msgid "%P: cannot open base file %s\n" +msgstr "%P: не могу да отворим датотеку оÑнове „%s“\n" #: eaarch64pe.c:932 earm64pe.c:932 earm_wince_pe.c:955 earmpe.c:955 -#: ei386beos.c:345 ei386pe.c:955 ei386pe_posix.c:955 ei386pep.c:932 +#: ei386beos.c:341 ei386pe.c:955 ei386pe_posix.c:955 ei386pep.c:932 #: emcorepe.c:955 eshpe.c:955 msgid "%P: warning, file alignment > section alignment\n" msgstr "%P: упозорење: поравнање датотеке > поравнања одељка\n" @@ -5084,8 +5128,8 @@ msgstr "%P: упозорење: не могу да направим „.buildidâ #: eaarch64pe.c:1468 earm64pe.c:1468 earm_wince_pe.c:1452 earmpe.c:1452 #: ei386pe.c:1452 ei386pe_posix.c:1452 ei386pep.c:1468 emcorepe.c:1452 #: eshpe.c:1452 -msgid "%F%P: cannot perform PE operations on non PE output file '%pB'\n" -msgstr "%F%P: не могу да обавим ПЕ радње на излазној датотеци која није ПЕ „%pB“\n" +msgid "%P: cannot perform PE operations on non PE output file '%pB'\n" +msgstr "%P: не могу да обавим ПЕ радње на излазној датотеци која није ПЕ „%pB“\n" #: eaarch64pe.c:1592 earm64pe.c:1592 earm_wince_pe.c:1595 earmpe.c:1595 #: ei386pe.c:1595 ei386pe_posix.c:1595 ei386pep.c:1592 emcorepe.c:1595 @@ -5094,12 +5138,12 @@ msgid "%X%P: unable to process relocs: %E\n" msgstr "%X%P: не могу да обрадим премештаје: %E\n" #: eaix5ppc.c:302 eaix5rs6.c:302 eaixppc.c:302 eaixrs6.c:302 eppcmacos.c:302 -msgid "%F%P: cannot open %s\n" -msgstr "%F%P: не могу да отворим „%s“\n" +msgid "%P: cannot open %s\n" +msgstr "%P: не могу да отворим „%s“\n" -#: eaix5ppc.c:349 eaix5rs6.c:349 eaixppc.c:349 eaixrs6.c:349 eppcmacos.c:349 -msgid "%F%P: cannot read %s\n" -msgstr "%F%P: не могу да читам „%s“\n" +#: eaix5ppc.c:350 eaix5rs6.c:350 eaixppc.c:350 eaixrs6.c:350 eppcmacos.c:350 +msgid "%P: cannot read %s\n" +msgstr "%P: не могу да читам „%s“\n" #: eaix5ppc.c:377 eaix5rs6.c:377 eaixppc.c:377 eaixrs6.c:377 eppcmacos.c:377 msgid "%P: warning: ignoring invalid -D number %s\n" @@ -5130,95 +5174,96 @@ msgid "%P: warning: ignoring invalid -pT number %s\n" msgstr "%P: упозорење: занемарујем неиÑправан „-pT“ број „%s“\n" #: eaix5ppc.c:701 eaix5rs6.c:701 eaixppc.c:701 eaixrs6.c:701 eppcmacos.c:701 -msgid "%F%P: bfd_xcoff_link_record_set failed: %E\n" -msgstr "%F%P: „bfd_xcoff_link_record_set“ није уÑпело: %E\n" +msgid "%P: bfd_xcoff_link_record_set failed: %E\n" +msgstr "%P: „bfd_xcoff_link_record_set“ није уÑпело: %E\n" #: eaix5ppc.c:731 eaix5rs6.c:731 eaixppc.c:731 eaixrs6.c:731 eppcmacos.c:731 -msgid "%F%P: bfd_link_hash_lookup of export symbol failed: %E\n" -msgstr "%F%P: „bfd_link_hash_lookup“ извоза Ñимбола није уÑпело: %E\n" +msgid "%P: bfd_link_hash_lookup of export symbol failed: %E\n" +msgstr "%P: „bfd_link_hash_lookup“ извоза Ñимбола није уÑпело: %E\n" #: eaix5ppc.c:733 eaix5rs6.c:733 eaixppc.c:733 eaixrs6.c:733 eppcmacos.c:733 -msgid "%F%P: bfd_xcoff_export_symbol failed: %E\n" -msgstr "%F%P: „bfd_xcoff_export_symbol“ није уÑпело: %E\n" +msgid "%P: bfd_xcoff_export_symbol failed: %E\n" +msgstr "%P: „bfd_xcoff_export_symbol“ није уÑпело: %E\n" #: eaix5ppc.c:838 eaix5rs6.c:838 eaixppc.c:838 eaixrs6.c:838 eppcmacos.c:838 -msgid "%F%P: can't find output section %s\n" -msgstr "%F%P: не могу да нађем излазни одељак „%s“\n" +msgid "%P: can't find output section %pA\n" +msgstr "%P: не могу да нађем излазни одељак „%s“\n" #: eaix5ppc.c:875 eaix5rs6.c:875 eaixppc.c:875 eaixrs6.c:875 eppcmacos.c:875 -msgid "%F%P: can't find %s in output section\n" -msgstr "%F%P: не могу да нађем „%s“ у излазном одељку\n" +msgid "%P: can't find %pA in output section\n" +msgstr "%P: не могу да нађем „%s“ у излазном одељку\n" -#: eaix5ppc.c:942 eaix5rs6.c:942 eaixppc.c:942 eaixrs6.c:942 eppcmacos.c:942 +#: eaix5ppc.c:941 eaix5rs6.c:941 eaixppc.c:941 eaixrs6.c:941 eppcmacos.c:941 msgid "%P: can't find required output section %s\n" msgstr "%P: не могу да нађем захтевани излазни одељак „%s“\n" -#: eaix5ppc.c:1124 eaix5rs6.c:1124 eaixppc.c:1124 eaixrs6.c:1124 -#: eppcmacos.c:1124 +#: eaix5ppc.c:1123 eaix5rs6.c:1123 eaixppc.c:1123 eaixrs6.c:1123 +#: eppcmacos.c:1123 msgid "%X%P: can not size stub sections: %E\n" msgstr "%X%P: не могу да одрадим величину одељка окрајка: %E\n" -#: eaix5ppc.c:1129 eaix5rs6.c:1129 eaixppc.c:1129 eaixrs6.c:1129 -#: eppcmacos.c:1129 -msgid "%F%P: failed to layout dynamic sections: %E\n" -msgstr "%F%P: ниÑам уÑпео да поÑтавим величине динамичког одељка: %E\n" +#: eaix5ppc.c:1128 eaix5rs6.c:1128 eaixppc.c:1128 eaixrs6.c:1128 +#: eppcmacos.c:1128 +msgid "%P: failed to layout dynamic sections: %E\n" +msgstr "%P: ниÑам уÑпео да поÑтавим величине динамичког одељка: %E\n" -#: eaix5ppc.c:1342 eaix5rs6.c:1342 eaixppc.c:1342 eaixrs6.c:1342 -#: eppcmacos.c:1342 -msgid "%F%P:%s:%d: #! ([member]) is not supported in import files\n" -msgstr "%F%P:%s:%d: #! ([члан]) није подржано у увозним датотекама\n" +#: eaix5ppc.c:1341 eaix5rs6.c:1341 eaixppc.c:1341 eaixrs6.c:1341 +#: eppcmacos.c:1341 +msgid "%P:%s:%d: #! ([member]) is not supported in import files\n" +msgstr "%P:%s:%d: #! ([члан]) није подржано у увозним датотекама\n" -#: eaix5ppc.c:1359 eaix5rs6.c:1359 eaixppc.c:1359 eaixrs6.c:1359 -#: eppcmacos.c:1359 -msgid "%F%P: could not parse import path: %E\n" -msgstr "%F%P: не могу да обрадим путању увоза: %E\n" +#: eaix5ppc.c:1358 eaix5rs6.c:1358 eaixppc.c:1358 eaixrs6.c:1358 +#: eppcmacos.c:1358 +msgid "%P: could not parse import path: %E\n" +msgstr "%P: не могу да обрадим путању увоза: %E\n" -#: eaix5ppc.c:1369 eaix5ppc.c:1381 eaix5rs6.c:1369 eaix5rs6.c:1381 -#: eaixppc.c:1369 eaixppc.c:1381 eaixrs6.c:1369 eaixrs6.c:1381 eppcmacos.c:1369 -#: eppcmacos.c:1381 +#: eaix5ppc.c:1368 eaix5ppc.c:1380 eaix5rs6.c:1368 eaix5rs6.c:1380 +#: eaixppc.c:1368 eaixppc.c:1380 eaixrs6.c:1368 eaixrs6.c:1380 eppcmacos.c:1368 +#: eppcmacos.c:1380 msgid "%P:%s:%d: warning: syntax error in import file\n" msgstr "%P:%s:%d: упозорење: грешка ÑинтакÑе у датотеци увоза\n" -#: eaix5ppc.c:1416 eaix5rs6.c:1416 eaixppc.c:1416 eaixrs6.c:1416 -#: eppcmacos.c:1416 +#: eaix5ppc.c:1415 eaix5rs6.c:1415 eaixppc.c:1415 eaixrs6.c:1415 +#: eppcmacos.c:1415 msgid "%P:%s%d: warning: syntax error in import/export file\n" msgstr "%P:%s%d: упозорење: грешка ÑинтакÑе у датотеци увоза/извоза\n" -#: eaix5ppc.c:1434 eaix5rs6.c:1434 eaixppc.c:1434 eaixrs6.c:1434 -#: eppcmacos.c:1434 +#: eaix5ppc.c:1433 eaix5rs6.c:1433 eaixppc.c:1433 eaixrs6.c:1433 +#: eppcmacos.c:1433 msgid "%P:%s:%d: warning: syntax error in import/export file\n" msgstr "%P:%s:%d: упозорење: грешка ÑинтакÑе у датотеци увоза/извоза\n" -#: eaix5ppc.c:1469 eaix5rs6.c:1469 eaixppc.c:1469 eaixrs6.c:1469 -#: eppcmacos.c:1469 +#: eaix5ppc.c:1468 eaix5rs6.c:1468 eaixppc.c:1468 eaixrs6.c:1468 +#: eppcmacos.c:1468 msgid "%X%P:%s:%d: failed to import symbol %s: %E\n" msgstr "%X%P:%s:%d: ниÑам уÑпео да увезем Ñимбол „%s“: %E\n" -#: eaix5ppc.c:1479 eaix5rs6.c:1479 eaixppc.c:1479 eaixrs6.c:1479 -#: eppcmacos.c:1479 +#: eaix5ppc.c:1478 eaix5rs6.c:1478 eaixppc.c:1478 eaixrs6.c:1478 +#: eppcmacos.c:1478 msgid "%P:%s:%d: warning: ignoring unterminated last line\n" msgstr "%P:%s:%d: упозорење: занемарујем незавршен поÑледњи ред\n" -#: eaix5ppc.c:1514 eaix5rs6.c:1514 eaixppc.c:1514 eaixrs6.c:1514 -#: eppcmacos.c:1514 -msgid "%F%P: only relocations against symbols are permitted\n" -msgstr "%F%P: Ñамо премештаји наÑпрам Ñимбола Ñу дозвољени\n" +#: eaix5ppc.c:1513 eaix5rs6.c:1513 eaixppc.c:1513 eaixrs6.c:1513 +#: eppcmacos.c:1513 +msgid "%P: only relocations against symbols are permitted\n" +msgstr "%P: Ñамо премештаји наÑпрам Ñимбола Ñу дозвољени\n" -#: eaix5ppc.c:1517 eaix5rs6.c:1517 eaixppc.c:1517 eaixrs6.c:1517 -#: eppcmacos.c:1517 -msgid "%F%P: bfd_xcoff_link_count_reloc failed: %E\n" -msgstr "%F%P: „bfd_xcoff_link_count_reloc“ није уÑпело: %E\n" +#: eaix5ppc.c:1516 eaix5rs6.c:1516 eaixppc.c:1516 eaixrs6.c:1516 +#: eppcmacos.c:1516 +msgid "%P: bfd_xcoff_link_count_reloc failed: %E\n" +msgstr "%P: „bfd_xcoff_link_count_reloc“ није уÑпело: %E\n" -#: eaix5ppc.c:1605 eaix5rs6.c:1605 eaixppc.c:1605 eaixrs6.c:1605 -#: eppcmacos.c:1605 -msgid "%F%P: can not create stub BFD: %E\n" -msgstr "%F%P: не могу да направим „BFD“ окрајка: %E\n" +#: eaix5ppc.c:1604 eaix5rs6.c:1604 eaixppc.c:1604 eaixrs6.c:1604 +#: eppcmacos.c:1604 +msgid "%P: can not create stub BFD: %E\n" +msgstr "%P: не могу да направим „BFD“ окрајка: %E\n" -#: eaix5ppc.c:1615 eaix5rs6.c:1615 eaixppc.c:1615 eaixrs6.c:1615 -#: eelf64_s390.c:66 eelf64lppc.c:132 eelf64lppc_fbsd.c:132 eelf64ppc.c:132 -#: eelf64ppc_fbsd.c:132 eppcmacos.c:1615 -msgid "%F%P: can not init BFD: %E\n" -msgstr "%F%P: не могу да покренем „BFD“: %E\n" +#: eaix5ppc.c:1614 eaix5rs6.c:1614 eaixppc.c:1614 eaixrs6.c:1614 +#: eelf32kvx.c:324 eelf64_s390.c:66 eelf64kvx.c:324 eelf64kvx_linux.c:322 +#: eelf64lppc.c:132 eelf64lppc_fbsd.c:132 eelf64ppc.c:132 eelf64ppc_fbsd.c:132 +#: eppcmacos.c:1614 +msgid "%P: can not init BFD: %E\n" +msgstr "%P: не могу да покренем „BFD“: %E\n" #: ealphavms.c:168 eelf64_ia64_vms.c:168 #, c-format @@ -5377,7 +5422,7 @@ msgstr "%P: упозорење: не могу да нађем почетни ÑÐ #: earmelf_vxworks.c:145 earmelfb.c:145 earmelfb_fbsd.c:145 #: earmelfb_fuchsia.c:146 earmelfb_linux.c:146 earmelfb_linux_eabi.c:146 #: earmelfb_linux_fdpiceabi.c:146 earmelfb_nacl.c:146 earmelfb_nbsd.c:145 -#: earmnto.c:145 ei386beos.c:598 +#: earmnto.c:145 ei386beos.c:592 #, c-format msgid "%P: errors encountered processing file %s\n" msgstr "%P: наиђох на грешке током обраде датотеке „%s“\n" @@ -5389,8 +5434,8 @@ msgstr "%P: наиђох на грешке током обраде датотеР#: earmelfb_fuchsia.c:556 earmelfb_linux.c:556 earmelfb_linux_eabi.c:556 #: earmelfb_linux_fdpiceabi.c:556 earmelfb_nacl.c:556 earmelfb_nbsd.c:555 #: earmnto.c:555 -msgid "%F%P: %s: can't open: %E\n" -msgstr "%F%P: %s: не могу да отворим: %E\n" +msgid "%P: %s: can't open: %E\n" +msgstr "%P: %s: не могу да отворим: %E\n" #: earmelf.c:558 earmelf_fbsd.c:558 earmelf_fuchsia.c:559 earmelf_haiku.c:559 #: earmelf_linux.c:559 earmelf_linux_eabi.c:559 earmelf_linux_fdpiceabi.c:559 @@ -5399,8 +5444,8 @@ msgstr "%F%P: %s: не могу да отворим: %E\n" #: earmelfb_fuchsia.c:559 earmelfb_linux.c:559 earmelfb_linux_eabi.c:559 #: earmelfb_linux_fdpiceabi.c:559 earmelfb_nacl.c:559 earmelfb_nbsd.c:558 #: earmnto.c:558 -msgid "%F%P: %s: not a relocatable file: %E\n" -msgstr "%F%P: %s: није премеÑтива датотека: %E\n" +msgid "%P: %s: not a relocatable file: %E\n" +msgstr "%P: %s: није премеÑтива датотека: %E\n" #: earmelf.c:1101 earmelf_fbsd.c:1101 earmelf_fuchsia.c:1106 #: earmelf_haiku.c:1106 earmelf_linux.c:1106 earmelf_linux_eabi.c:1106 @@ -5712,7 +5757,8 @@ msgstr " --debug-stubs КориÑти Ñе за Ð¿Ñ€Ð¾Ñ msgid " --debug-relax Used for debugging avr-ld.\n" msgstr " --debug-relax КориÑти Ñе за прочишћавање „avr-ld“.\n" -#: ecskyelf.c:278 ecskyelf_linux.c:278 +#: ecskyelf.c:278 ecskyelf_linux.c:278 eelf32kvx.c:271 eelf64kvx.c:271 +#: eelf64kvx_linux.c:269 msgid "%X%P: cannot size stub section: %E\n" msgstr "%X%P: не могу да одрадим величину одељка окрајка: %E\n" @@ -5750,8 +5796,8 @@ msgid "%X%P: can not create note section: %E\n" msgstr "%X%P: не могу да направим одељак напомене: „%E“\n" #: eelf32_spu.c:347 -msgid "%F%P: no built-in overlay manager\n" -msgstr "%F%P: нема уграђеног управника преклапања\n" +msgid "%P: no built-in overlay manager\n" +msgstr "%P: нема уграђеног управника преклапања\n" #: eelf32_spu.c:357 msgid "%X%P: can not open built-in overlay manager: %E\n" @@ -5774,8 +5820,8 @@ msgid "%X%P: can not size overlay stubs: %E\n" msgstr "%X%P: не могу да одрадим величину окрајака преклапања: „%E“\n" #: eelf32_spu.c:524 -msgid "%F%P: can not open script: %E\n" -msgstr "%F%P: не могу да отворим Ñкрипту: %E\n" +msgid "%P: can not open script: %E\n" +msgstr "%P: не могу да отворим Ñкрипту: %E\n" #: eelf32_spu.c:571 msgid "%X%P: %pA exceeds local store range\n" @@ -5786,36 +5832,36 @@ msgid "%P: --auto-overlay ignored with zero local store range\n" msgstr "%P: „--auto-overlay“ занемарено Ñа нултим опÑегом локалног Ñмештаја\n" #: eelf32_spu.c:939 -msgid "%F%P: invalid --local-store address range `%s'\n" -msgstr "%F%P: неиÑправан опÑег „--local-store“ адреÑе „%s“\n" +msgid "%P: invalid --local-store address range `%s'\n" +msgstr "%P: неиÑправан опÑег „--local-store“ адреÑе „%s“\n" #: eelf32_spu.c:975 -msgid "%F%P: invalid --num-lines/--num-regions `%u'\n" -msgstr "%F%P: неиÑправно „--num-lines/--num-regions“ „%u“\n" +msgid "%P: invalid --num-lines/--num-regions `%u'\n" +msgstr "%P: неиÑправно „--num-lines/--num-regions“ „%u“\n" #: eelf32_spu.c:980 -msgid "%F%P: invalid --line-size/--region-size `%u'\n" -msgstr "%F%P: неиÑправно „--line-size/--region-size“ „%u“\n" +msgid "%P: invalid --line-size/--region-size `%u'\n" +msgstr "%P: неиÑправно „--line-size/--region-size“ „%u“\n" #: eelf32_spu.c:1001 -msgid "%F%P: invalid --num-lines/--num-regions `%s'\n" -msgstr "%F%P: неиÑправно „--num-lines/--num-regions“ „%s“\n" +msgid "%P: invalid --num-lines/--num-regions `%s'\n" +msgstr "%P: неиÑправно „--num-lines/--num-regions“ „%s“\n" #: eelf32_spu.c:1014 -msgid "%F%P: invalid --line-size/--region-size `%s'\n" -msgstr "%F%P: неиÑправно „--line-size/--region-size“ „%s“\n" +msgid "%P: invalid --line-size/--region-size `%s'\n" +msgstr "%P: неиÑправно „--line-size/--region-size“ „%s“\n" #: eelf32_spu.c:1023 -msgid "%F%P: invalid --fixed-space value `%s'\n" -msgstr "%F%P: неиÑправна „--fixed-space“ вредноÑÑ‚ „%s“\n" +msgid "%P: invalid --fixed-space value `%s'\n" +msgstr "%P: неиÑправна „--fixed-space“ вредноÑÑ‚ „%s“\n" #: eelf32_spu.c:1032 -msgid "%F%P: invalid --reserved-space value `%s'\n" -msgstr "%F%P: неиÑправна „--reserved-space“ вредноÑÑ‚ „%s“\n" +msgid "%P: invalid --reserved-space value `%s'\n" +msgstr "%P: неиÑправна „--reserved-space“ вредноÑÑ‚ „%s“\n" #: eelf32_spu.c:1041 -msgid "%F%P: invalid --extra-stack-space value `%s'\n" -msgstr "%F%P: неиÑправна „--extra-stack-space“ вредноÑÑ‚ „%s“\n" +msgid "%P: invalid --extra-stack-space value `%s'\n" +msgstr "%P: неиÑправна „--extra-stack-space“ вредноÑÑ‚ „%s“\n" #: eelf32_spu.c:1078 #, c-format @@ -5938,130 +5984,130 @@ msgstr " --non-ia-text Допушта „non-icache“ к msgid " --lrlive-analysis Scan function prologue for lr liveness\n" msgstr " --lrlive-analysis ТРажи има ли у прологу функције „lr“ живоÑти\n" -#: eelf32_tic6x_be.c:91 eelf32_tic6x_elf_be.c:91 eelf32_tic6x_elf_le.c:91 -#: eelf32_tic6x_le.c:91 eelf32_tic6x_linux_be.c:91 eelf32_tic6x_linux_le.c:91 -msgid "%F%P: invalid --dsbt-index %d, outside DSBT size\n" -msgstr "%F%P: неиÑправно „--dsbt-index“ %d, изван „DSBT“ величине\n" +#: eelf32_tic6x_be.c:90 eelf32_tic6x_elf_be.c:90 eelf32_tic6x_elf_le.c:90 +#: eelf32_tic6x_le.c:90 eelf32_tic6x_linux_be.c:90 eelf32_tic6x_linux_le.c:90 +msgid "%P: invalid --dsbt-index %d, outside DSBT size\n" +msgstr "%P: неиÑправно „--dsbt-index“ %d, изван „DSBT“ величине\n" -#: eelf32_tic6x_be.c:631 eelf32_tic6x_elf_be.c:631 eelf32_tic6x_elf_le.c:631 -#: eelf32_tic6x_le.c:631 eelf32_tic6x_linux_be.c:631 -#: eelf32_tic6x_linux_le.c:631 -msgid "%F%P: invalid --dsbt-index %s\n" -msgstr "%F%P: неиÑправно „--dsbt-index %s“\n" +#: eelf32_tic6x_be.c:629 eelf32_tic6x_elf_be.c:629 eelf32_tic6x_elf_le.c:629 +#: eelf32_tic6x_le.c:629 eelf32_tic6x_linux_be.c:629 +#: eelf32_tic6x_linux_le.c:629 +msgid "%P: invalid --dsbt-index %s\n" +msgstr "%P: неиÑправно „--dsbt-index %s“\n" -#: eelf32_tic6x_be.c:641 eelf32_tic6x_elf_be.c:641 eelf32_tic6x_elf_le.c:641 -#: eelf32_tic6x_le.c:641 eelf32_tic6x_linux_be.c:641 -#: eelf32_tic6x_linux_le.c:641 -msgid "%F%P: invalid --dsbt-size %s\n" -msgstr "%F%P: неиÑправно „--dsbt-size %s“\n" +#: eelf32_tic6x_be.c:639 eelf32_tic6x_elf_be.c:639 eelf32_tic6x_elf_le.c:639 +#: eelf32_tic6x_le.c:639 eelf32_tic6x_linux_be.c:639 +#: eelf32_tic6x_linux_le.c:639 +msgid "%P: invalid --dsbt-size %s\n" +msgstr "%P: неиÑправно „--dsbt-size %s“\n" -#: eelf32_tic6x_be.c:657 eelf32_tic6x_elf_be.c:657 eelf32_tic6x_elf_le.c:657 -#: eelf32_tic6x_le.c:657 eelf32_tic6x_linux_be.c:657 -#: eelf32_tic6x_linux_le.c:657 +#: eelf32_tic6x_be.c:655 eelf32_tic6x_elf_be.c:655 eelf32_tic6x_elf_le.c:655 +#: eelf32_tic6x_le.c:655 eelf32_tic6x_linux_be.c:655 +#: eelf32_tic6x_linux_le.c:655 #, c-format msgid " --dsbt-index <index> Use this as the DSBT index for the output object\n" msgstr " --dsbt-index <индекÑ> КориÑти ово као „DSBT“ Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð° излазни објект\n" -#: eelf32_tic6x_be.c:658 eelf32_tic6x_elf_be.c:658 eelf32_tic6x_elf_le.c:658 -#: eelf32_tic6x_le.c:658 eelf32_tic6x_linux_be.c:658 -#: eelf32_tic6x_linux_le.c:658 +#: eelf32_tic6x_be.c:656 eelf32_tic6x_elf_be.c:656 eelf32_tic6x_elf_le.c:656 +#: eelf32_tic6x_le.c:656 eelf32_tic6x_linux_be.c:656 +#: eelf32_tic6x_linux_le.c:656 #, c-format msgid " --dsbt-size <index> Use this as the number of entries in the DSBT table\n" msgstr " --dsbt-size <индекÑ> КориÑти ово као број уноÑа у „DSBT“ табели\n" -#: eelf32_tic6x_be.c:659 eelf32_tic6x_elf_be.c:659 eelf32_tic6x_elf_le.c:659 -#: eelf32_tic6x_le.c:659 eelf32_tic6x_linux_be.c:659 -#: eelf32_tic6x_linux_le.c:659 +#: eelf32_tic6x_be.c:657 eelf32_tic6x_elf_be.c:657 eelf32_tic6x_elf_le.c:657 +#: eelf32_tic6x_le.c:657 eelf32_tic6x_linux_be.c:657 +#: eelf32_tic6x_linux_le.c:657 #, c-format msgid " --no-merge-exidx-entries\n" msgstr " --no-merge-exidx-entries\n" -#: eelf32_tic6x_be.c:660 eelf32_tic6x_elf_be.c:660 eelf32_tic6x_elf_le.c:660 -#: eelf32_tic6x_le.c:660 eelf32_tic6x_linux_be.c:660 -#: eelf32_tic6x_linux_le.c:660 +#: eelf32_tic6x_be.c:658 eelf32_tic6x_elf_be.c:658 eelf32_tic6x_elf_le.c:658 +#: eelf32_tic6x_le.c:658 eelf32_tic6x_linux_be.c:658 +#: eelf32_tic6x_linux_le.c:658 #, c-format msgid " Disable merging exidx entries\n" msgstr " Онеогућује Ñтапање „exidx“ уноÑа\n" -#: eelf32_x86_64.c:8606 eelf_i386.c:8061 eelf_i386_be.c:542 +#: eelf32_x86_64.c:8638 eelf_i386.c:8061 eelf_i386_be.c:542 #: eelf_i386_fbsd.c:593 eelf_i386_haiku.c:593 eelf_i386_ldso.c:553 #: eelf_i386_sol2.c:725 eelf_i386_vxworks.c:619 eelf_iamcu.c:593 -#: eelf_x86_64.c:8606 eelf_x86_64_cloudabi.c:604 eelf_x86_64_fbsd.c:604 -#: eelf_x86_64_haiku.c:604 eelf_x86_64_sol2.c:736 -msgid "%F%P: invalid number for -z call-nop=prefix-: %s\n" -msgstr "%F%P: неиÑправан број за „-z call-nop=prefix-“: %s\n" +#: eelf_x86_64.c:8638 eelf_x86_64_cloudabi.c:636 eelf_x86_64_fbsd.c:636 +#: eelf_x86_64_haiku.c:636 eelf_x86_64_sol2.c:768 +msgid "%P: invalid number for -z call-nop=prefix-: %s\n" +msgstr "%P: неиÑправан број за „-z call-nop=prefix-“: %s\n" -#: eelf32_x86_64.c:8615 eelf_i386.c:8070 eelf_i386_be.c:551 +#: eelf32_x86_64.c:8647 eelf_i386.c:8070 eelf_i386_be.c:551 #: eelf_i386_fbsd.c:602 eelf_i386_haiku.c:602 eelf_i386_ldso.c:562 #: eelf_i386_sol2.c:734 eelf_i386_vxworks.c:628 eelf_iamcu.c:602 -#: eelf_x86_64.c:8615 eelf_x86_64_cloudabi.c:613 eelf_x86_64_fbsd.c:613 -#: eelf_x86_64_haiku.c:613 eelf_x86_64_sol2.c:745 -msgid "%F%P: invalid number for -z call-nop=suffix-: %s\n" -msgstr "%F%P: неиÑправан број за „-z call-nop=suffix-“: %s\n" +#: eelf_x86_64.c:8647 eelf_x86_64_cloudabi.c:645 eelf_x86_64_fbsd.c:645 +#: eelf_x86_64_haiku.c:645 eelf_x86_64_sol2.c:777 +msgid "%P: invalid number for -z call-nop=suffix-: %s\n" +msgstr "%P: неиÑправан број за „-z call-nop=suffix-“: %s\n" -#: eelf32_x86_64.c:8620 eelf_i386.c:8075 eelf_i386_be.c:556 +#: eelf32_x86_64.c:8652 eelf_i386.c:8075 eelf_i386_be.c:556 #: eelf_i386_fbsd.c:607 eelf_i386_haiku.c:607 eelf_i386_ldso.c:567 #: eelf_i386_sol2.c:739 eelf_i386_vxworks.c:633 eelf_iamcu.c:607 -#: eelf_x86_64.c:8620 eelf_x86_64_cloudabi.c:618 eelf_x86_64_fbsd.c:618 -#: eelf_x86_64_haiku.c:618 eelf_x86_64_sol2.c:750 -msgid "%F%P: unsupported option: -z %s\n" -msgstr "%F%P: неподржана опција: „-z“ „%s“\n" - -#: eelf32_x86_64.c:8642 eelf_i386.c:8097 eelf_i386_fbsd.c:629 -#: eelf_i386_haiku.c:629 eelf_x86_64.c:8642 eelf_x86_64_cloudabi.c:640 -#: eelf_x86_64_fbsd.c:640 eelf_x86_64_haiku.c:640 eelf_x86_64_sol2.c:772 -msgid "%F%P: invalid option for -z cet-report=: %s\n" -msgstr "%F%P: неиÑправна опција „-z cet-report=“: %s\n" - -#: eelf32_x86_64.c:8656 eelf_i386.c:8111 eelf_i386_fbsd.c:643 -#: eelf_i386_haiku.c:643 eelf_x86_64.c:8656 eelf_x86_64_cloudabi.c:654 -#: eelf_x86_64_fbsd.c:654 eelf_x86_64_haiku.c:654 eelf_x86_64_sol2.c:786 -msgid "%F%P: invalid x86-64 ISA level: %s\n" -msgstr "%F%P: неиÑправан „x86-64 ISA“ ниво: %s\n" - -#: eelf32_x86_64.c:8672 eelf_i386.c:8127 eelf_i386_fbsd.c:659 -#: eelf_i386_haiku.c:659 eelf_x86_64.c:8672 eelf_x86_64_cloudabi.c:670 -#: eelf_x86_64_fbsd.c:670 eelf_x86_64_haiku.c:670 eelf_x86_64_sol2.c:802 -msgid "%F%P: invalid option for -z isa-level-report=: %s\n" -msgstr "%F%P: неиÑправна опција за „-z isa-level-report=“: %s\n" - -#: eelf32_x86_64.c:8719 eelf_i386.c:8169 eelf_i386_be.c:572 +#: eelf_x86_64.c:8652 eelf_x86_64_cloudabi.c:650 eelf_x86_64_fbsd.c:650 +#: eelf_x86_64_haiku.c:650 eelf_x86_64_sol2.c:782 +msgid "%P: unsupported option: -z %s\n" +msgstr "%P: неподржана опција: „-z“ „%s“\n" + +#: eelf32_x86_64.c:8674 eelf_i386.c:8097 eelf_i386_fbsd.c:629 +#: eelf_i386_haiku.c:629 eelf_x86_64.c:8674 eelf_x86_64_cloudabi.c:672 +#: eelf_x86_64_fbsd.c:672 eelf_x86_64_haiku.c:672 eelf_x86_64_sol2.c:804 +msgid "%P: invalid option for -z cet-report=: %s\n" +msgstr "%P: неиÑправна опција „-z cet-report=“: %s\n" + +#: eelf32_x86_64.c:8688 eelf_i386.c:8111 eelf_i386_fbsd.c:643 +#: eelf_i386_haiku.c:643 eelf_x86_64.c:8688 eelf_x86_64_cloudabi.c:686 +#: eelf_x86_64_fbsd.c:686 eelf_x86_64_haiku.c:686 eelf_x86_64_sol2.c:818 +msgid "%P: invalid x86-64 ISA level: %s\n" +msgstr "%P: неиÑправан „x86-64 ISA“ ниво: %s\n" + +#: eelf32_x86_64.c:8704 eelf_i386.c:8127 eelf_i386_fbsd.c:659 +#: eelf_i386_haiku.c:659 eelf_x86_64.c:8704 eelf_x86_64_cloudabi.c:702 +#: eelf_x86_64_fbsd.c:702 eelf_x86_64_haiku.c:702 eelf_x86_64_sol2.c:834 +msgid "%P: invalid option for -z isa-level-report=: %s\n" +msgstr "%P: неиÑправна опција за „-z isa-level-report=“: %s\n" + +#: eelf32_x86_64.c:8751 eelf_i386.c:8169 eelf_i386_be.c:572 #: eelf_i386_fbsd.c:701 eelf_i386_haiku.c:701 eelf_i386_ldso.c:592 #: eelf_i386_sol2.c:764 eelf_i386_vxworks.c:654 eelf_iamcu.c:632 -#: eelf_x86_64.c:8769 eelf_x86_64_cloudabi.c:767 eelf_x86_64_fbsd.c:767 -#: eelf_x86_64_haiku.c:767 eelf_x86_64_sol2.c:899 +#: eelf_x86_64.c:8801 eelf_x86_64_cloudabi.c:799 eelf_x86_64_fbsd.c:799 +#: eelf_x86_64_haiku.c:799 eelf_x86_64_sol2.c:931 #, c-format msgid " -z noextern-protected-data Do not treat protected data symbol as external\n" msgstr " -z noextern-protected-data Ðе Ñматра заштићени Ñимбол података Ñпољним\n" -#: eelf32_x86_64.c:8721 eelf_i386.c:8171 eelf_i386_be.c:574 +#: eelf32_x86_64.c:8753 eelf_i386.c:8171 eelf_i386_be.c:574 #: eelf_i386_fbsd.c:703 eelf_i386_haiku.c:703 eelf_i386_ldso.c:594 #: eelf_i386_sol2.c:766 eelf_i386_vxworks.c:656 eelf_iamcu.c:634 -#: eelf_x86_64.c:8771 eelf_x86_64_cloudabi.c:769 eelf_x86_64_fbsd.c:769 -#: eelf_x86_64_haiku.c:769 eelf_x86_64_sol2.c:901 +#: eelf_x86_64.c:8803 eelf_x86_64_cloudabi.c:801 eelf_x86_64_fbsd.c:801 +#: eelf_x86_64_haiku.c:801 eelf_x86_64_sol2.c:933 #, c-format msgid " -z indirect-extern-access Enable indirect external access\n" msgstr " -z indirect-extern-access Укључује поÑредан Ñпољни приÑтуп\n" -#: eelf32_x86_64.c:8723 eelf_i386.c:8173 eelf_i386_be.c:576 +#: eelf32_x86_64.c:8755 eelf_i386.c:8173 eelf_i386_be.c:576 #: eelf_i386_fbsd.c:705 eelf_i386_haiku.c:705 eelf_i386_ldso.c:596 #: eelf_i386_sol2.c:768 eelf_i386_vxworks.c:658 eelf_iamcu.c:636 -#: eelf_x86_64.c:8773 eelf_x86_64_cloudabi.c:771 eelf_x86_64_fbsd.c:771 -#: eelf_x86_64_haiku.c:771 eelf_x86_64_sol2.c:903 +#: eelf_x86_64.c:8805 eelf_x86_64_cloudabi.c:803 eelf_x86_64_fbsd.c:803 +#: eelf_x86_64_haiku.c:803 eelf_x86_64_sol2.c:935 #, c-format msgid " -z noindirect-extern-access Disable indirect external access (default)\n" msgstr " -z noindirect-extern-access ИÑкључује поÑредан Ñпољни приÑтуп (оÑновно)\n" -#: eelf32_x86_64.c:8726 eelf32lppc.c:869 eelf32lppclinux.c:869 +#: eelf32_x86_64.c:8758 eelf32lppc.c:869 eelf32lppclinux.c:869 #: eelf32lppcnto.c:869 eelf32lppcsim.c:869 eelf32ppc.c:869 eelf32ppc_fbsd.c:869 #: eelf32ppchaiku.c:869 eelf32ppclinux.c:869 eelf32ppcnto.c:869 #: eelf32ppcsim.c:869 eelf32ppcvxworks.c:843 eelf32ppcwindiss.c:869 -#: eelf64lppc.c:1384 eelf64lppc_fbsd.c:1384 eelf64ppc.c:1384 -#: eelf64ppc_fbsd.c:1384 eelf_i386.c:8176 eelf_i386_be.c:579 +#: eelf64lppc.c:1385 eelf64lppc_fbsd.c:1385 eelf64ppc.c:1385 +#: eelf64ppc_fbsd.c:1385 eelf_i386.c:8176 eelf_i386_be.c:579 #: eelf_i386_fbsd.c:708 eelf_i386_haiku.c:708 eelf_i386_ldso.c:599 #: eelf_i386_sol2.c:771 eelf_i386_vxworks.c:661 eelf_iamcu.c:639 -#: eelf_x86_64.c:8776 eelf_x86_64_cloudabi.c:774 eelf_x86_64_fbsd.c:774 -#: eelf_x86_64_haiku.c:774 eelf_x86_64_sol2.c:906 +#: eelf_x86_64.c:8808 eelf_x86_64_cloudabi.c:806 eelf_x86_64_fbsd.c:806 +#: eelf_x86_64_haiku.c:806 eelf_x86_64_sol2.c:938 #, c-format msgid "" " -z dynamic-undefined-weak Make undefined weak symbols dynamic\n" @@ -6070,45 +6116,45 @@ msgstr "" " -z dynamic-undefined-weak Чини недефиниÑане Ñлабе Ñимболе динамичким\n" " -z nodynamic-undefined-weak Ðе чини недефиниÑане Ñлабе Ñимболе динамичким\n" -#: eelf32_x86_64.c:8730 eelf_x86_64.c:8780 eelf_x86_64_cloudabi.c:778 -#: eelf_x86_64_fbsd.c:778 eelf_x86_64_haiku.c:778 eelf_x86_64_sol2.c:910 +#: eelf32_x86_64.c:8762 eelf_x86_64.c:8812 eelf_x86_64_cloudabi.c:810 +#: eelf_x86_64_fbsd.c:810 eelf_x86_64_haiku.c:810 eelf_x86_64_sol2.c:942 #, c-format msgid " -z noreloc-overflow Disable relocation overflow check\n" msgstr " -z noreloc-overflow ИÑкључује проверу прекорачења премештаја\n" -#: eelf32_x86_64.c:8733 eelf_i386.c:8180 eelf_i386_be.c:583 +#: eelf32_x86_64.c:8765 eelf_i386.c:8180 eelf_i386_be.c:583 #: eelf_i386_fbsd.c:712 eelf_i386_haiku.c:712 eelf_i386_ldso.c:603 #: eelf_i386_sol2.c:775 eelf_i386_vxworks.c:665 eelf_iamcu.c:643 -#: eelf_x86_64.c:8783 eelf_x86_64_cloudabi.c:781 eelf_x86_64_fbsd.c:781 -#: eelf_x86_64_haiku.c:781 eelf_x86_64_sol2.c:913 +#: eelf_x86_64.c:8815 eelf_x86_64_cloudabi.c:813 eelf_x86_64_fbsd.c:813 +#: eelf_x86_64_haiku.c:813 eelf_x86_64_sol2.c:945 #, c-format msgid " -z call-nop=PADDING Use PADDING as 1-byte NOP for branch\n" msgstr " -z call-nop=ПОПУЊÐÐ’ÐЊЕ КориÑти ПОПУЊÐÐ’ÐЊЕ као 1-бајтни „NOP“ за грану\n" -#: eelf32_x86_64.c:8736 eelf_i386.c:8183 eelf_i386_fbsd.c:715 -#: eelf_i386_haiku.c:715 eelf_x86_64.c:8786 eelf_x86_64_cloudabi.c:784 -#: eelf_x86_64_fbsd.c:784 eelf_x86_64_haiku.c:784 eelf_x86_64_sol2.c:916 +#: eelf32_x86_64.c:8768 eelf_i386.c:8183 eelf_i386_fbsd.c:715 +#: eelf_i386_haiku.c:715 eelf_x86_64.c:8818 eelf_x86_64_cloudabi.c:816 +#: eelf_x86_64_fbsd.c:816 eelf_x86_64_haiku.c:816 eelf_x86_64_sol2.c:948 #, c-format msgid " -z ibtplt Generate IBT-enabled PLT entries\n" msgstr " -z ibtplt Ствара „IBT“-ом омогућене „PLT“ уноÑе\n" -#: eelf32_x86_64.c:8738 eelf_i386.c:8185 eelf_i386_fbsd.c:717 -#: eelf_i386_haiku.c:717 eelf_x86_64.c:8788 eelf_x86_64_cloudabi.c:786 -#: eelf_x86_64_fbsd.c:786 eelf_x86_64_haiku.c:786 eelf_x86_64_sol2.c:918 +#: eelf32_x86_64.c:8770 eelf_i386.c:8185 eelf_i386_fbsd.c:717 +#: eelf_i386_haiku.c:717 eelf_x86_64.c:8820 eelf_x86_64_cloudabi.c:818 +#: eelf_x86_64_fbsd.c:818 eelf_x86_64_haiku.c:818 eelf_x86_64_sol2.c:950 #, c-format msgid " -z ibt Generate GNU_PROPERTY_X86_FEATURE_1_IBT\n" msgstr " -z ibt Ствара „GNU_PROPERTY_X86_FEATURE_1_IBT“\n" -#: eelf32_x86_64.c:8740 eelf_i386.c:8187 eelf_i386_fbsd.c:719 -#: eelf_i386_haiku.c:719 eelf_x86_64.c:8790 eelf_x86_64_cloudabi.c:788 -#: eelf_x86_64_fbsd.c:788 eelf_x86_64_haiku.c:788 eelf_x86_64_sol2.c:920 +#: eelf32_x86_64.c:8772 eelf_i386.c:8187 eelf_i386_fbsd.c:719 +#: eelf_i386_haiku.c:719 eelf_x86_64.c:8822 eelf_x86_64_cloudabi.c:820 +#: eelf_x86_64_fbsd.c:820 eelf_x86_64_haiku.c:820 eelf_x86_64_sol2.c:952 #, c-format msgid " -z shstk Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK\n" msgstr " -z shstk Ствара „GNU_PROPERTY_X86_FEATURE_1_SHSTK“\n" -#: eelf32_x86_64.c:8742 eelf_i386.c:8189 eelf_i386_fbsd.c:721 -#: eelf_i386_haiku.c:721 eelf_x86_64.c:8792 eelf_x86_64_cloudabi.c:790 -#: eelf_x86_64_fbsd.c:790 eelf_x86_64_haiku.c:790 eelf_x86_64_sol2.c:922 +#: eelf32_x86_64.c:8774 eelf_i386.c:8189 eelf_i386_fbsd.c:721 +#: eelf_i386_haiku.c:721 eelf_x86_64.c:8824 eelf_x86_64_cloudabi.c:822 +#: eelf_x86_64_fbsd.c:822 eelf_x86_64_haiku.c:822 eelf_x86_64_sol2.c:954 #, c-format msgid "" " -z cet-report=[none|warning|error] (default: none)\n" @@ -6117,23 +6163,23 @@ msgstr "" " -z cet-report=[ништа|упозорење|грешка] (оÑновно: ништа)\n" " Извештава о недоÑтајућим „IBT“ и „SHSTK“ извештајима\n" -#: eelf32_x86_64.c:8746 eelf_i386.c:8193 eelf_i386_fbsd.c:725 -#: eelf_i386_haiku.c:725 eelf_x86_64.c:8796 eelf_x86_64_cloudabi.c:794 -#: eelf_x86_64_fbsd.c:794 eelf_x86_64_haiku.c:794 eelf_x86_64_sol2.c:926 +#: eelf32_x86_64.c:8778 eelf_i386.c:8193 eelf_i386_fbsd.c:725 +#: eelf_i386_haiku.c:725 eelf_x86_64.c:8828 eelf_x86_64_cloudabi.c:826 +#: eelf_x86_64_fbsd.c:826 eelf_x86_64_haiku.c:826 eelf_x86_64_sol2.c:958 #, c-format msgid " -z report-relative-reloc Report relative relocations\n" msgstr " -z report-relative-reloc Извештава о релативним премештајима\n" -#: eelf32_x86_64.c:8749 eelf_i386.c:8196 eelf_i386_fbsd.c:728 -#: eelf_i386_haiku.c:728 eelf_x86_64.c:8799 eelf_x86_64_cloudabi.c:797 -#: eelf_x86_64_fbsd.c:797 eelf_x86_64_haiku.c:797 eelf_x86_64_sol2.c:929 +#: eelf32_x86_64.c:8781 eelf_i386.c:8196 eelf_i386_fbsd.c:728 +#: eelf_i386_haiku.c:728 eelf_x86_64.c:8831 eelf_x86_64_cloudabi.c:829 +#: eelf_x86_64_fbsd.c:829 eelf_x86_64_haiku.c:829 eelf_x86_64_sol2.c:961 #, c-format msgid " -z x86-64-{baseline|v[234]} Mark x86-64-{baseline|v[234]} ISA level as needed\n" msgstr " -z x86-64-{baseline|v[234]} Означава потребним „x86-64-{baseline|v[234]} ISA“ ниво\n" -#: eelf32_x86_64.c:8752 eelf_i386.c:8199 eelf_i386_fbsd.c:731 -#: eelf_i386_haiku.c:731 eelf_x86_64.c:8802 eelf_x86_64_cloudabi.c:800 -#: eelf_x86_64_fbsd.c:800 eelf_x86_64_haiku.c:800 eelf_x86_64_sol2.c:932 +#: eelf32_x86_64.c:8784 eelf_i386.c:8199 eelf_i386_fbsd.c:731 +#: eelf_i386_haiku.c:731 eelf_x86_64.c:8834 eelf_x86_64_cloudabi.c:832 +#: eelf_x86_64_fbsd.c:832 eelf_x86_64_haiku.c:832 eelf_x86_64_sol2.c:964 #, c-format msgid "" " -z isa-level-report=[none|all|needed|used] (default: none)\n" @@ -6142,8 +6188,8 @@ msgstr "" " -z isa-level-report=[none|all|needed|used] (оÑновно: none)\n" " Пријављује x86-64 ISA ниво\n" -#: eelf32_x86_64.c:8757 eelf_x86_64.c:8821 eelf_x86_64_cloudabi.c:819 -#: eelf_x86_64_fbsd.c:819 eelf_x86_64_haiku.c:819 eelf_x86_64_sol2.c:951 +#: eelf32_x86_64.c:8789 eelf_x86_64.c:8853 eelf_x86_64_cloudabi.c:851 +#: eelf_x86_64_fbsd.c:851 eelf_x86_64_haiku.c:851 eelf_x86_64_sol2.c:983 #, c-format msgid "" " -z mark-plt Mark PLT with dynamic tags (default)\n" @@ -6152,8 +6198,8 @@ msgstr "" " -z mark-plt Означава PLT динамичким ознакама (оÑновно)\n" " -z nomark-plt Ðе означава PLT динамичким ознакама\n" -#: eelf32_x86_64.c:8761 eelf_x86_64.c:8825 eelf_x86_64_cloudabi.c:823 -#: eelf_x86_64_fbsd.c:823 eelf_x86_64_haiku.c:823 eelf_x86_64_sol2.c:955 +#: eelf32_x86_64.c:8793 eelf_x86_64.c:8857 eelf_x86_64_cloudabi.c:855 +#: eelf_x86_64_fbsd.c:855 eelf_x86_64_haiku.c:855 eelf_x86_64_sol2.c:987 #, c-format msgid "" " -z mark-plt Mark PLT with dynamic tags\n" @@ -6162,20 +6208,20 @@ msgstr "" " -z mark-plt Означава PLT динамичким ознакама\n" " -z nomark-plt Ðе означава PLT динамичким ознакама (оÑновно)\n" -#: eelf32_x86_64.c:8765 eelf64loongarch.c:619 eelf64lppc.c:1388 -#: eelf64lppc_fbsd.c:1388 eelf64ppc.c:1388 eelf64ppc_fbsd.c:1388 +#: eelf32_x86_64.c:8797 eelf64loongarch.c:619 eelf64lppc.c:1389 +#: eelf64lppc_fbsd.c:1389 eelf64ppc.c:1389 eelf64ppc_fbsd.c:1389 #: eelf_i386.c:8203 eelf_i386_fbsd.c:735 eelf_i386_haiku.c:735 -#: eelf_x86_64.c:8829 eelf_x86_64_cloudabi.c:827 eelf_x86_64_fbsd.c:827 -#: eelf_x86_64_haiku.c:827 eelf_x86_64_sol2.c:959 +#: eelf_x86_64.c:8861 eelf_x86_64_cloudabi.c:859 eelf_x86_64_fbsd.c:859 +#: eelf_x86_64_haiku.c:859 eelf_x86_64_sol2.c:991 #, c-format msgid " -z pack-relative-relocs Pack relative relocations\n" msgstr " -z pack-relative-relocs Пакује релативне премештаје\n" -#: eelf32_x86_64.c:8767 eelf64loongarch.c:621 eelf64lppc.c:1390 -#: eelf64lppc_fbsd.c:1390 eelf64ppc.c:1390 eelf64ppc_fbsd.c:1390 +#: eelf32_x86_64.c:8799 eelf64loongarch.c:621 eelf64lppc.c:1391 +#: eelf64lppc_fbsd.c:1391 eelf64ppc.c:1391 eelf64ppc_fbsd.c:1391 #: eelf_i386.c:8205 eelf_i386_fbsd.c:737 eelf_i386_haiku.c:737 -#: eelf_x86_64.c:8831 eelf_x86_64_cloudabi.c:829 eelf_x86_64_fbsd.c:829 -#: eelf_x86_64_haiku.c:829 eelf_x86_64_sol2.c:961 +#: eelf_x86_64.c:8863 eelf_x86_64_cloudabi.c:861 eelf_x86_64_fbsd.c:861 +#: eelf_x86_64_haiku.c:861 eelf_x86_64_sol2.c:993 #, c-format msgid " -z nopack-relative-relocs Do not pack relative relocations (default)\n" msgstr " -z nopack-relative-relocs Ðе пакује релативне премештаје (оÑновно)\n" @@ -6309,12 +6355,12 @@ msgid " --no-check-uleb128 Don't check if SUB_ULEB128 has non-zero add msgstr " --no-check-uleb128 Ðе проверава да ли SUB_ULEB128 има не-нулти Ñабирак\n" #: eelf32cr16.c:88 -msgid "%F%P: %pB: all input objects must be COFF or ELF for --embedded-relocs\n" -msgstr "%F%P: %pB: Ñви улазни објекти морају бити „COFF“ или „ELF“ за „--embedded-relocs“\n" +msgid "%P: %pB: all input objects must be COFF or ELF for --embedded-relocs\n" +msgstr "%P: %pB: Ñви улазни објекти морају бити „COFF“ или „ELF“ за „--embedded-relocs“\n" #: eelf32cr16.c:112 em68kelf.c:116 em68kelfnbsd.c:116 -msgid "%F%P: %pB: can not create .emreloc section: %E\n" -msgstr "%F%P: %pB: не могу да направим „.emreloc“ одељак: %E\n" +msgid "%P: %pB: can not create .emreloc section: %E\n" +msgstr "%P: %pB: не могу да направим „.emreloc“ одељак: %E\n" #: eelf32cr16.c:131 em68kelf.c:137 em68kelfnbsd.c:137 msgid "%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n" @@ -6329,8 +6375,12 @@ msgid "%X%P: %pB: can not create runtime reloc information: %s\n" msgstr "%X%P: %pB: не могу да направим податке премштаја времена извршења: %s\n" #: eelf32kvx.c:64 eelf64kvx.c:64 -msgid "%F:%P: -pie not supported\n" -msgstr "%F:%P: „-pie“ није подржано\n" +msgid ":%P: -pie not supported\n" +msgstr ":%P: „-pie“ није подржано\n" + +#: eelf32kvx.c:316 eelf64kvx.c:316 eelf64kvx_linux.c:314 +msgid "%P: can not create BFD %E\n" +msgstr "%P: не могу да направим „BFD“: %E\n" #: eelf32lppc.c:99 eelf32lppclinux.c:99 eelf32lppcnto.c:99 eelf32lppcsim.c:99 #: eelf32ppc.c:99 eelf32ppc_fbsd.c:99 eelf32ppchaiku.c:99 eelf32ppclinux.c:99 @@ -6367,24 +6417,24 @@ msgstr "%X%P: „ppc_finish_symbols“ проблем „%E“\n" #: eelf32lppcsim.c:810 eelf32ppc.c:810 eelf32ppc_fbsd.c:810 #: eelf32ppchaiku.c:810 eelf32ppclinux.c:810 eelf32ppcnto.c:810 #: eelf32ppcsim.c:810 eelf32ppcvxworks.c:780 eelf32ppcwindiss.c:810 -#: eelf64lppc.c:1251 eelf64lppc_fbsd.c:1251 eelf64ppc.c:1251 -#: eelf64ppc_fbsd.c:1251 -msgid "%F%P: invalid --plt-align `%s'\n" -msgstr "%F%P: неиÑправно „--plt-align“ „%s“\n" +#: eelf64lppc.c:1252 eelf64lppc_fbsd.c:1252 eelf64ppc.c:1252 +#: eelf64ppc_fbsd.c:1252 +msgid "%P: invalid --plt-align `%s'\n" +msgstr "%P: неиÑправно „--plt-align“ „%s“\n" #: eelf32lppc.c:843 eelf32lppclinux.c:843 eelf32lppcnto.c:843 #: eelf32lppcsim.c:843 eelf32ppc.c:843 eelf32ppc_fbsd.c:843 #: eelf32ppchaiku.c:843 eelf32ppclinux.c:843 eelf32ppcnto.c:843 #: eelf32ppcsim.c:843 eelf32ppcvxworks.c:813 eelf32ppcwindiss.c:843 -msgid "%F%P: invalid pagesize `%s'\n" -msgstr "%F%P: неиÑправна величина Ñтранице „%s“\n" +msgid "%P: invalid pagesize `%s'\n" +msgstr "%P: неиÑправна величина Ñтранице „%s“\n" #: eelf32lppc.c:873 eelf32lppclinux.c:873 eelf32lppcnto.c:873 #: eelf32lppcsim.c:873 eelf32ppc.c:873 eelf32ppc_fbsd.c:873 #: eelf32ppchaiku.c:873 eelf32ppclinux.c:873 eelf32ppcnto.c:873 #: eelf32ppcsim.c:873 eelf32ppcvxworks.c:847 eelf32ppcwindiss.c:873 -#: eelf64lppc.c:1436 eelf64lppc_fbsd.c:1436 eelf64ppc.c:1436 -#: eelf64ppc_fbsd.c:1436 +#: eelf64lppc.c:1437 eelf64lppc_fbsd.c:1437 eelf64ppc.c:1437 +#: eelf64ppc_fbsd.c:1437 #, c-format msgid " --emit-stub-syms Label linker stubs with a symbol\n" msgstr " --emit-stub-syms Етикетира окрајке повезивача Ñимболом\n" @@ -6393,8 +6443,8 @@ msgstr " --emit-stub-syms Етикетира окрајке #: eelf32lppcsim.c:876 eelf32ppc.c:876 eelf32ppc_fbsd.c:876 #: eelf32ppchaiku.c:876 eelf32ppclinux.c:876 eelf32ppcnto.c:876 #: eelf32ppcsim.c:876 eelf32ppcvxworks.c:850 eelf32ppcwindiss.c:876 -#: eelf64lppc.c:1439 eelf64lppc_fbsd.c:1439 eelf64ppc.c:1439 -#: eelf64ppc_fbsd.c:1439 +#: eelf64lppc.c:1440 eelf64lppc_fbsd.c:1440 eelf64ppc.c:1440 +#: eelf64ppc_fbsd.c:1440 #, c-format msgid " --no-emit-stub-syms Don't label linker stubs with a symbol\n" msgstr " --no-emit-stub-syms Ðе етикетира окрајке повезивача Ñимболом\n" @@ -6403,8 +6453,8 @@ msgstr " --no-emit-stub-syms Ðе етикетира Ð¾ÐºÑ€Ð°Ñ #: eelf32lppcsim.c:879 eelf32ppc.c:879 eelf32ppc_fbsd.c:879 #: eelf32ppchaiku.c:879 eelf32ppclinux.c:879 eelf32ppcnto.c:879 #: eelf32ppcsim.c:879 eelf32ppcvxworks.c:853 eelf32ppcwindiss.c:879 -#: eelf64lppc.c:1459 eelf64lppc_fbsd.c:1459 eelf64ppc.c:1459 -#: eelf64ppc_fbsd.c:1459 +#: eelf64lppc.c:1460 eelf64lppc_fbsd.c:1460 eelf64ppc.c:1460 +#: eelf64ppc_fbsd.c:1460 #, c-format msgid " --no-tls-optimize Don't try to optimize TLS accesses\n" msgstr " --no-tls-optimize Ðе покушава да оптимизује „TLS“ приÑтупе\n" @@ -6413,8 +6463,8 @@ msgstr " --no-tls-optimize Ðе покушава да оптР#: eelf32lppcsim.c:882 eelf32ppc.c:882 eelf32ppc_fbsd.c:882 #: eelf32ppchaiku.c:882 eelf32ppclinux.c:882 eelf32ppcnto.c:882 #: eelf32ppcsim.c:882 eelf32ppcvxworks.c:856 eelf32ppcwindiss.c:882 -#: eelf64lppc.c:1465 eelf64lppc_fbsd.c:1465 eelf64ppc.c:1465 -#: eelf64ppc_fbsd.c:1465 +#: eelf64lppc.c:1466 eelf64lppc_fbsd.c:1466 eelf64ppc.c:1466 +#: eelf64ppc_fbsd.c:1466 #, c-format msgid " --no-tls-get-addr-optimize Don't use a special __tls_get_addr call\n" msgstr " --no-tls-get-addr-optimize Ðе кориÑти Ñпецијални „__tls_get_addr“ позив\n" @@ -6446,8 +6496,8 @@ msgstr " --plt-align Поравнава окрајке #: eelf32lppc.c:894 eelf32lppclinux.c:894 eelf32lppcnto.c:894 #: eelf32lppcsim.c:894 eelf32ppc.c:894 eelf32ppc_fbsd.c:894 #: eelf32ppchaiku.c:894 eelf32ppclinux.c:894 eelf32ppcnto.c:894 -#: eelf32ppcsim.c:894 eelf32ppcwindiss.c:894 eelf64lppc.c:1418 -#: eelf64lppc_fbsd.c:1418 eelf64ppc.c:1418 eelf64ppc_fbsd.c:1418 +#: eelf32ppcsim.c:894 eelf32ppcwindiss.c:894 eelf64lppc.c:1419 +#: eelf64lppc_fbsd.c:1419 eelf64ppc.c:1419 eelf64ppc_fbsd.c:1419 #, c-format msgid " --no-plt-align Dont't align individual PLT call stubs\n" msgstr " --no-plt-align Ðе поравнава неиÑправне окрајке „PLT“ позива\n" @@ -6455,8 +6505,8 @@ msgstr " --no-plt-align Ðе поравнава неиÑп #: eelf32lppc.c:897 eelf32lppclinux.c:897 eelf32lppcnto.c:897 #: eelf32lppcsim.c:897 eelf32ppc.c:897 eelf32ppc_fbsd.c:897 #: eelf32ppchaiku.c:897 eelf32ppclinux.c:897 eelf32ppcnto.c:897 -#: eelf32ppcsim.c:897 eelf32ppcwindiss.c:897 eelf64lppc.c:1477 -#: eelf64lppc_fbsd.c:1477 eelf64ppc.c:1477 eelf64ppc_fbsd.c:1477 +#: eelf32ppcsim.c:897 eelf32ppcwindiss.c:897 eelf64lppc.c:1478 +#: eelf64lppc_fbsd.c:1478 eelf64ppc.c:1478 eelf64ppc_fbsd.c:1478 #, c-format msgid " --no-inline-optimize Don't convert inline PLT to direct calls\n" msgstr " --no-inline-optimize Ðе претвара унутарње „PLT“ у директне позиве\n" @@ -6510,8 +6560,8 @@ msgstr " --vle-reloc-fixup Поправља „16A/16D“ Ð¿Ñ msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n" msgstr " --base_file <дттка_оÑнове> Ствара датотеку оÑнове за премеÑтљиве „DLL“-ове\n" -#: eelf32metag.c:802 eelf64lppc.c:1393 eelf64lppc_fbsd.c:1393 eelf64ppc.c:1393 -#: eelf64ppc_fbsd.c:1393 ehppaelf.c:631 ehppalinux.c:843 ehppanbsd.c:843 +#: eelf32metag.c:802 eelf64lppc.c:1394 eelf64lppc_fbsd.c:1394 eelf64ppc.c:1394 +#: eelf64ppc_fbsd.c:1394 ehppaelf.c:631 ehppalinux.c:843 ehppanbsd.c:843 #: ehppaobsd.c:843 #, c-format msgid "" @@ -6590,8 +6640,8 @@ msgid "%P: warning: failed to convert %s table in %pB (%s); subsequent disassemb msgstr "%P: упозорење: ниÑам уÑпео да претворим „%s“ табелу у „%pB“ (%s); накнадно раÑтављање може бити непотпуно\n" #: eelf32xtensa.c:421 -msgid "%F%P: %pB: cannot read contents of section %pA\n" -msgstr "%F%P: %pB: не могу да прочитам Ñадржај одељка „%pA“\n" +msgid "%P: %pB: cannot read contents of section %pA\n" +msgstr "%P: %pB: не могу да прочитам Ñадржај одељка „%pA“\n" #: eelf32xtensa.c:432 msgid "%P: %pB: warning: incompatible Xtensa configuration (%s)\n" @@ -6602,24 +6652,24 @@ msgid "%P: %pB: warning: cannot parse .xtensa.info section\n" msgstr "%P: %pB: упозорење: не могу да обрадим „.xtensa.info“ одељак\n" #: eelf32xtensa.c:462 -msgid "%F%P: little endian output does not match Xtensa configuration\n" -msgstr "%F%P: излаз мале крајњоÑти не одговара „Xtensa“ подешавању\n" +msgid "%P: little endian output does not match Xtensa configuration\n" +msgstr "%P: излаз мале крајњоÑти не одговара „Xtensa“ подешавању\n" #: eelf32xtensa.c:468 -msgid "%F%P: big endian output does not match Xtensa configuration\n" -msgstr "%F%P: излаз велике крајњоÑти не одговара „Xtensa“ подешавању\n" +msgid "%P: big endian output does not match Xtensa configuration\n" +msgstr "%P: излаз велике крајњоÑти не одговара „Xtensa“ подешавању\n" #: eelf32xtensa.c:487 -msgid "%F%P: cross-endian linking for %pB not supported\n" -msgstr "%F%P: повезивање унакрÑне крајњоÑти за „%pB“ није подржано\n" +msgid "%P: cross-endian linking for %pB not supported\n" +msgstr "%P: повезивање унакрÑне крајњоÑти за „%pB“ није подржано\n" #: eelf32xtensa.c:518 -msgid "%F%P: failed to create .xtensa.info section\n" -msgstr "%F%P: ниÑам уÑпео да направим одељак „.xtensa.info“\n" +msgid "%P: failed to create .xtensa.info section\n" +msgstr "%P: ниÑам уÑпео да направим одељак „.xtensa.info“\n" #: eelf32xtensa.c:1257 -msgid "%F%P: Relaxation not supported with --enable-non-contiguous-regions.\n" -msgstr "%F%P: Опуштање није подржано Ñа „--enable-non-contiguous-regions“.\n" +msgid "%P: Relaxation not supported with --enable-non-contiguous-regions.\n" +msgstr "%P: Опуштање није подржано Ñа „--enable-non-contiguous-regions“.\n" #: eelf32xtensa.c:2466 #, c-format @@ -6641,34 +6691,25 @@ msgid " --abi-call0 Choose call0 ABI for the output object\n" msgstr " --abi-call0 Бира „call0 ABI“ за излазни објекат\n" #: eelf32z80.c:70 ez80.c:59 -msgid "%F%P: %pB: Instruction sets of object files incompatible\n" -msgstr "%F%P: %pB: Скупови инÑтрукција објектних датотека ниÑу ÑаглаÑни\n" +msgid "%P: %pB: Instruction sets of object files incompatible\n" +msgstr "%P: %pB: Скупови инÑтрукција објектних датотека ниÑу ÑаглаÑни\n" #: eelf64_ia64.c:575 eelf64_ia64_fbsd.c:575 #, c-format msgid " --itanium Generate code for Intel Itanium processor\n" msgstr " --itanium Ствара код за „Intel Itanium“ процеÑор\n" -#: eelf64_s390.c:648 +#: eelf64_s390.c:661 #, c-format msgid " --s390-pgste Tell the kernel to allocate 4k page tables\n" msgstr " --s390-pgste Говори језгру да додели 4k табеле Ñтранице\n" -#: eelf64alpha.c:645 eelf64alpha_fbsd.c:645 eelf64alpha_nbsd.c:645 -#, c-format -msgid "" -" --taso Load executable in the lower 31-bit addressable\n" -" virtual address range\n" -msgstr "" -" --taso Учитава извршну у нижем 31-битном адреÑивом\n" -" виртуелном опÑегу адреÑе\n" - -#: eelf64alpha.c:648 eelf64alpha_fbsd.c:648 eelf64alpha_nbsd.c:648 +#: eelf64alpha.c:618 eelf64alpha_fbsd.c:618 eelf64alpha_nbsd.c:618 #, c-format msgid " --secureplt Force PLT in text segment\n" msgstr " --secureplt ПриÑиљава „PLT“ у подеоку текÑта\n" -#: eelf64alpha.c:650 eelf64alpha_fbsd.c:650 eelf64alpha_nbsd.c:650 +#: eelf64alpha.c:620 eelf64alpha_fbsd.c:620 eelf64alpha_nbsd.c:620 #, c-format msgid " --no-secureplt Force PLT in data segment\n" msgstr " --no-secureplt ПриÑиљава „PLT“ у подеоку података\n" @@ -6687,71 +6728,71 @@ msgstr "%X%P: Ñрипта повезивача раздваја „.got“ и â msgid "%P: .init/.fini fragments use differing TOC pointers\n" msgstr "%P: „.init/.fini“ одломци кориÑте другачије „TOC“ показиваче\n" -#: eelf64lppc.c:1280 eelf64lppc_fbsd.c:1280 eelf64ppc.c:1280 -#: eelf64ppc_fbsd.c:1280 -msgid "%F%P: invalid --power10-stubs argument `%s'\n" -msgstr "%F%P: неиÑправан „--power10-stubs“ аргумент „%s“\n" +#: eelf64lppc.c:1281 eelf64lppc_fbsd.c:1281 eelf64ppc.c:1281 +#: eelf64ppc_fbsd.c:1281 +msgid "%P: invalid --power10-stubs argument `%s'\n" +msgstr "%P: неиÑправан „--power10-stubs“ аргумент „%s“\n" -#: eelf64lppc.c:1403 eelf64ppc.c:1403 +#: eelf64lppc.c:1404 eelf64ppc.c:1404 #, c-format msgid " --plt-static-chain PLT call stubs should load r11 (default)\n" msgstr " --plt-static-chain Окрајци „PLT“ позива треба да учитају „r11“ (оÑновно)\n" -#: eelf64lppc.c:1406 eelf64ppc.c:1406 +#: eelf64lppc.c:1407 eelf64ppc.c:1407 #, c-format msgid " --no-plt-static-chain PLT call stubs should not load r11\n" msgstr " --no-plt-static-chain Окрајци „PLT“ позива не треба да учитају „r11“\n" -#: eelf64lppc.c:1409 eelf64lppc_fbsd.c:1409 eelf64ppc.c:1409 -#: eelf64ppc_fbsd.c:1409 +#: eelf64lppc.c:1410 eelf64lppc_fbsd.c:1410 eelf64ppc.c:1410 +#: eelf64ppc_fbsd.c:1410 #, c-format msgid " --plt-thread-safe PLT call stubs with load-load barrier\n" msgstr " --plt-thread-safe Окрајци „PLT“ позива Ñа учитај-учитај баријером\n" -#: eelf64lppc.c:1412 eelf64lppc_fbsd.c:1412 eelf64ppc.c:1412 -#: eelf64ppc_fbsd.c:1412 +#: eelf64lppc.c:1413 eelf64lppc_fbsd.c:1413 eelf64ppc.c:1413 +#: eelf64ppc_fbsd.c:1413 #, c-format msgid " --no-plt-thread-safe PLT call stubs without barrier\n" msgstr " --no-plt-thread-safe Окрајци „PLT“ позива без баријере\n" -#: eelf64lppc.c:1415 eelf64lppc_fbsd.c:1415 eelf64ppc.c:1415 -#: eelf64ppc_fbsd.c:1415 +#: eelf64lppc.c:1416 eelf64lppc_fbsd.c:1416 eelf64ppc.c:1416 +#: eelf64ppc_fbsd.c:1416 #, c-format msgid " --plt-align [=<align>] Align PLT call stubs to fit cache lines\n" msgstr " --plt-align [=<поравнај>] Поравнава окрајке „PLT“ позива да Ñтану у редове оÑтаве\n" -#: eelf64lppc.c:1421 eelf64lppc_fbsd.c:1421 eelf64ppc.c:1421 -#: eelf64ppc_fbsd.c:1421 +#: eelf64lppc.c:1422 eelf64lppc_fbsd.c:1422 eelf64ppc.c:1422 +#: eelf64ppc_fbsd.c:1422 #, c-format msgid " --plt-localentry Optimize calls to ELFv2 localentry:0 functions\n" msgstr " --plt-localentry Оптимизује позиве на „ELFv2 localentry:0“ функције\n" -#: eelf64lppc.c:1424 eelf64lppc_fbsd.c:1424 eelf64ppc.c:1424 -#: eelf64ppc_fbsd.c:1424 +#: eelf64lppc.c:1425 eelf64lppc_fbsd.c:1425 eelf64ppc.c:1425 +#: eelf64ppc_fbsd.c:1425 #, c-format msgid " --no-plt-localentry Don't optimize ELFv2 calls\n" msgstr " --no-plt-localentry Ðе оптимизује „ELFv2“ позиве\n" -#: eelf64lppc.c:1427 eelf64lppc_fbsd.c:1427 eelf64ppc.c:1427 -#: eelf64ppc_fbsd.c:1427 +#: eelf64lppc.c:1428 eelf64lppc_fbsd.c:1428 eelf64ppc.c:1428 +#: eelf64ppc_fbsd.c:1428 #, c-format msgid " --power10-stubs [=auto] Use Power10 PLT call stubs (default auto)\n" msgstr " --power10-stubs [=auto] КориÑти окрајке „Power10 PLT“ позива (оÑновно је „auto“)\n" -#: eelf64lppc.c:1430 eelf64lppc_fbsd.c:1430 eelf64ppc.c:1430 -#: eelf64ppc_fbsd.c:1430 +#: eelf64lppc.c:1431 eelf64lppc_fbsd.c:1431 eelf64ppc.c:1431 +#: eelf64ppc_fbsd.c:1431 #, c-format msgid " --no-pcrel-optimize Don't perform R_PPC64_PCREL_OPT optimization\n" msgstr " --no-pcrel-optimize Ðе обавља „R_PPC64_PCREL_OPT“ оптимизацију\n" -#: eelf64lppc.c:1433 eelf64lppc_fbsd.c:1433 eelf64ppc.c:1433 -#: eelf64ppc_fbsd.c:1433 +#: eelf64lppc.c:1434 eelf64lppc_fbsd.c:1434 eelf64ppc.c:1434 +#: eelf64ppc_fbsd.c:1434 #, c-format msgid " --no-power10-stubs Don't use Power10 PLT call stubs\n" msgstr " --no-power10-stubs Ðе кориÑти окрајке „Power10 PLT“ позива\n" -#: eelf64lppc.c:1442 eelf64lppc_fbsd.c:1442 eelf64ppc.c:1442 -#: eelf64ppc_fbsd.c:1442 +#: eelf64lppc.c:1443 eelf64lppc_fbsd.c:1443 eelf64ppc.c:1443 +#: eelf64ppc_fbsd.c:1443 #, c-format msgid "" " --dotsyms For every version pattern \"foo\" in a version\n" @@ -6764,14 +6805,14 @@ msgstr "" " функције Ñматрају иÑто као Ñимболи опиÑника\n" " функције. Подразумева Ñе укљученом.\n" -#: eelf64lppc.c:1448 eelf64lppc_fbsd.c:1448 eelf64ppc.c:1448 -#: eelf64ppc_fbsd.c:1448 +#: eelf64lppc.c:1449 eelf64lppc_fbsd.c:1449 eelf64ppc.c:1449 +#: eelf64ppc_fbsd.c:1449 #, c-format msgid " --no-dotsyms Don't do anything special in version scripts\n" msgstr " --no-dotsyms Ðе ради ништа поÑебно у Ñкриптама издања\n" -#: eelf64lppc.c:1451 eelf64lppc_fbsd.c:1451 eelf64ppc.c:1451 -#: eelf64ppc_fbsd.c:1451 +#: eelf64lppc.c:1452 eelf64lppc_fbsd.c:1452 eelf64ppc.c:1452 +#: eelf64ppc_fbsd.c:1452 #, c-format msgid "" " --save-restore-funcs Provide register save and restore routines used\n" @@ -6782,56 +6823,56 @@ msgstr "" " кориÑти „gcc -Os“ код. Подразумева Ñе укљученом за уобичајену\n" " крајњу везу, иÑкљученом за „ld -r“.\n" -#: eelf64lppc.c:1456 eelf64lppc_fbsd.c:1456 eelf64ppc.c:1456 -#: eelf64ppc_fbsd.c:1456 +#: eelf64lppc.c:1457 eelf64lppc_fbsd.c:1457 eelf64ppc.c:1457 +#: eelf64ppc_fbsd.c:1457 #, c-format msgid " --no-save-restore-funcs Don't provide these routines\n" msgstr " --no-save-restore-funcs Ðе обезбеђује ове рутине\n" -#: eelf64lppc.c:1462 eelf64lppc_fbsd.c:1462 eelf64ppc.c:1462 -#: eelf64ppc_fbsd.c:1462 +#: eelf64lppc.c:1463 eelf64lppc_fbsd.c:1463 eelf64ppc.c:1463 +#: eelf64ppc_fbsd.c:1463 #, c-format msgid " --tls-get-addr-optimize Force use of special __tls_get_addr call\n" msgstr " --tls-get-addr-optimize ПриÑиљава коришћење Ñпецијалног „__tls_get_addr“ позив\n" -#: eelf64lppc.c:1468 eelf64lppc_fbsd.c:1468 eelf64ppc.c:1468 -#: eelf64ppc_fbsd.c:1468 +#: eelf64lppc.c:1469 eelf64lppc_fbsd.c:1469 eelf64ppc.c:1469 +#: eelf64ppc_fbsd.c:1469 #, c-format msgid " --tls-get-addr-regsave Force register save __tls_get_addr stub\n" msgstr " --tls-get-addr-regsave Приморава да региÑтар Ñачува „__tls_get_addr“ окрајак\n" -#: eelf64lppc.c:1471 eelf64lppc_fbsd.c:1471 eelf64ppc.c:1471 -#: eelf64ppc_fbsd.c:1471 +#: eelf64lppc.c:1472 eelf64lppc_fbsd.c:1472 eelf64ppc.c:1472 +#: eelf64ppc_fbsd.c:1472 #, c-format msgid " --no-tls-get-addr-regsave Don't use register save __tls_get_addr stub\n" msgstr " --no-tls-get-addr-regsave Ðе кориÑти да региÑтар Ñачува „__tls_get_addr“ окрајак\n" -#: eelf64lppc.c:1474 eelf64lppc_fbsd.c:1474 eelf64ppc.c:1474 -#: eelf64ppc_fbsd.c:1474 +#: eelf64lppc.c:1475 eelf64lppc_fbsd.c:1475 eelf64ppc.c:1475 +#: eelf64ppc_fbsd.c:1475 #, c-format msgid " --no-opd-optimize Don't optimize the OPD section\n" msgstr " --no-opd-optimize Ðе оптимизује „OPD“ одељак\n" -#: eelf64lppc.c:1480 eelf64lppc_fbsd.c:1480 eelf64ppc.c:1480 -#: eelf64ppc_fbsd.c:1480 +#: eelf64lppc.c:1481 eelf64lppc_fbsd.c:1481 eelf64ppc.c:1481 +#: eelf64ppc_fbsd.c:1481 #, c-format msgid " --no-toc-optimize Don't optimize the TOC section\n" msgstr " --no-toc-optimize Ðе оптимизује „TOC“ одељак\n" -#: eelf64lppc.c:1483 eelf64lppc_fbsd.c:1483 eelf64ppc.c:1483 -#: eelf64ppc_fbsd.c:1483 +#: eelf64lppc.c:1484 eelf64lppc_fbsd.c:1484 eelf64ppc.c:1484 +#: eelf64ppc_fbsd.c:1484 #, c-format msgid " --no-multi-toc Disallow automatic multiple toc sections\n" msgstr " --no-multi-toc Ðе омогућава више ÑамоÑталних одељака табеле Ñадржаја\n" -#: eelf64lppc.c:1486 eelf64lppc_fbsd.c:1486 eelf64ppc.c:1486 -#: eelf64ppc_fbsd.c:1486 +#: eelf64lppc.c:1487 eelf64lppc_fbsd.c:1487 eelf64ppc.c:1487 +#: eelf64ppc_fbsd.c:1487 #, c-format msgid " --no-toc-sort Don't sort TOC and GOT sections\n" msgstr " --no-toc-sort Ðе ређа „TOC“ и „GOT“ одељке\n" -#: eelf64lppc.c:1489 eelf64lppc_fbsd.c:1489 eelf64ppc.c:1489 -#: eelf64ppc_fbsd.c:1489 +#: eelf64lppc.c:1490 eelf64lppc_fbsd.c:1490 eelf64ppc.c:1490 +#: eelf64ppc_fbsd.c:1490 #, c-format msgid "" " --non-overlapping-opd Canonicalize .opd, so that there are no\n" @@ -6840,12 +6881,12 @@ msgstr "" " --non-overlapping-opd Стандардизује „.opd“, тако да нема\n" " преклапајућих „.opd“ уноÑа\n" -#: eelf64lppc_fbsd.c:1403 eelf64ppc_fbsd.c:1403 +#: eelf64lppc_fbsd.c:1404 eelf64ppc_fbsd.c:1404 #, c-format msgid " --plt-static-chain PLT call stubs should load r111\n" msgstr " --plt-static-chain Окрајци „PLT“ позива треба да учитају „r111“\n" -#: eelf64lppc_fbsd.c:1406 eelf64ppc_fbsd.c:1406 +#: eelf64lppc_fbsd.c:1407 eelf64ppc_fbsd.c:1407 #, c-format msgid " --no-plt-static-chain PLT call stubs should not load r11 (default)\n" msgstr " --no-plt-static-chain Окрајци „PLT“ позива не треба да учитају „r11“ (оÑновно)\n" @@ -6858,34 +6899,33 @@ msgstr "%X%P: унутрашњи проблеми подешавања одељРmsgid "%X%P: too many global registers: %u, max 223\n" msgstr "%X%P: превише општих региÑтара: %u, највише 223\n" -#. This is a fatal error; make einfo call not return. -#: eelf64mmix.c:146 emmo.c:146 -msgid "%F%P: can't finalize linker-allocated global registers\n" -msgstr "%F%P: не могу да завршим повезивачем додељене опште региÑтре\n" +#: eelf64mmix.c:144 emmo.c:144 +msgid "%P: can't finalize linker-allocated global registers\n" +msgstr "%P: не могу да завршим повезивачем додељене опште региÑтре\n" -#: eelf_x86_64.c:8687 eelf_x86_64_cloudabi.c:685 eelf_x86_64_fbsd.c:685 -#: eelf_x86_64_haiku.c:685 eelf_x86_64_sol2.c:817 -msgid "%F%P: invalid option for -z lam-u48-report=: %s\n" -msgstr "%F%P: неиÑправна опција за „-z lam-u48-report=“: %s\n" +#: eelf_x86_64.c:8719 eelf_x86_64_cloudabi.c:717 eelf_x86_64_fbsd.c:717 +#: eelf_x86_64_haiku.c:717 eelf_x86_64_sol2.c:849 +msgid "%P: invalid option for -z lam-u48-report=: %s\n" +msgstr "%P: неиÑправна опција за „-z lam-u48-report=“: %s\n" -#: eelf_x86_64.c:8701 eelf_x86_64_cloudabi.c:699 eelf_x86_64_fbsd.c:699 -#: eelf_x86_64_haiku.c:699 eelf_x86_64_sol2.c:831 -msgid "%F%P: invalid option for -z lam-u57-report=: %s\n" -msgstr "%F%P: неиÑправна опција за „-z lam-u57-report=“: %s\n" +#: eelf_x86_64.c:8733 eelf_x86_64_cloudabi.c:731 eelf_x86_64_fbsd.c:731 +#: eelf_x86_64_haiku.c:731 eelf_x86_64_sol2.c:863 +msgid "%P: invalid option for -z lam-u57-report=: %s\n" +msgstr "%P: неиÑправна опција за „-z lam-u57-report=“: %s\n" -#: eelf_x86_64.c:8722 eelf_x86_64_cloudabi.c:720 eelf_x86_64_fbsd.c:720 -#: eelf_x86_64_haiku.c:720 eelf_x86_64_sol2.c:852 -msgid "%F%P: invalid option for -z lam-report=: %s\n" -msgstr "%F%P: неиÑправна опција за „-z lam-report=“: %s\n" +#: eelf_x86_64.c:8754 eelf_x86_64_cloudabi.c:752 eelf_x86_64_fbsd.c:752 +#: eelf_x86_64_haiku.c:752 eelf_x86_64_sol2.c:884 +msgid "%P: invalid option for -z lam-report=: %s\n" +msgstr "%P: неиÑправна опција за „-z lam-report=“: %s\n" -#: eelf_x86_64.c:8806 eelf_x86_64_cloudabi.c:804 eelf_x86_64_fbsd.c:804 -#: eelf_x86_64_haiku.c:804 eelf_x86_64_sol2.c:936 +#: eelf_x86_64.c:8838 eelf_x86_64_cloudabi.c:836 eelf_x86_64_fbsd.c:836 +#: eelf_x86_64_haiku.c:836 eelf_x86_64_sol2.c:968 #, c-format msgid " -z lam-u48 Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48\n" msgstr " -z lam-u48 Ствара „GNU_PROPERTY_X86_FEATURE_1_LAM_U48“\n" -#: eelf_x86_64.c:8808 eelf_x86_64_cloudabi.c:806 eelf_x86_64_fbsd.c:806 -#: eelf_x86_64_haiku.c:806 eelf_x86_64_sol2.c:938 +#: eelf_x86_64.c:8840 eelf_x86_64_cloudabi.c:838 eelf_x86_64_fbsd.c:838 +#: eelf_x86_64_haiku.c:838 eelf_x86_64_sol2.c:970 #, c-format msgid "" " -z lam-u48-report=[none|warning|error] (default: none)\n" @@ -6894,14 +6934,14 @@ msgstr "" " -z lam-u48-report=[none|warning|error] (оÑновно: none)\n" " Извештава о недоÑтајућем „LAM_U48“ ÑвојÑтву\n" -#: eelf_x86_64.c:8811 eelf_x86_64_cloudabi.c:809 eelf_x86_64_fbsd.c:809 -#: eelf_x86_64_haiku.c:809 eelf_x86_64_sol2.c:941 +#: eelf_x86_64.c:8843 eelf_x86_64_cloudabi.c:841 eelf_x86_64_fbsd.c:841 +#: eelf_x86_64_haiku.c:841 eelf_x86_64_sol2.c:973 #, c-format msgid " -z lam-u57 Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57\n" msgstr " -z lam-u57 Ствара „GNU_PROPERTY_X86_FEATURE_1_LAM_U57“\n" -#: eelf_x86_64.c:8813 eelf_x86_64_cloudabi.c:811 eelf_x86_64_fbsd.c:811 -#: eelf_x86_64_haiku.c:811 eelf_x86_64_sol2.c:943 +#: eelf_x86_64.c:8845 eelf_x86_64_cloudabi.c:843 eelf_x86_64_fbsd.c:843 +#: eelf_x86_64_haiku.c:843 eelf_x86_64_sol2.c:975 #, c-format msgid "" " -z lam-u57-report=[none|warning|error] (default: none)\n" @@ -6910,8 +6950,8 @@ msgstr "" " -z lam-u57-report=[none|warning|error] (оÑновно: none)\n" " Извештава о недоÑтајућем „LAM_U57“ ÑвојÑтву\n" -#: eelf_x86_64.c:8816 eelf_x86_64_cloudabi.c:814 eelf_x86_64_fbsd.c:814 -#: eelf_x86_64_haiku.c:814 eelf_x86_64_sol2.c:946 +#: eelf_x86_64.c:8848 eelf_x86_64_cloudabi.c:846 eelf_x86_64_fbsd.c:846 +#: eelf_x86_64_haiku.c:846 eelf_x86_64_sol2.c:978 #, c-format msgid "" " -z lam-report=[none|warning|error] (default: none)\n" @@ -6933,21 +6973,21 @@ msgstr "" " --multi-subspace Ствара окрајке увоза и извоза да подржавају\n" " више под-проÑторних дељених библиотека\n" -#: ei386beos.c:359 -msgid "%F%P: PE operations on non PE file\n" -msgstr "%F%P: „PE“ радње на не „PE“ датотеци\n" +#: ei386beos.c:354 +msgid "%P: PE operations on non PE file\n" +msgstr "%P: „PE“ радње на не „PE“ датотеци\n" -#: ei386beos.c:409 ei386beos.c:414 -msgid "%F%P: %pB: can't read contents of section .idata: %E\n" -msgstr "%F%P: %pB: не могу да читам Ñадржаје одељка „.idata“: %E\n" +#: ei386beos.c:403 ei386beos.c:408 +msgid "%P: %pB: can't read contents of section .idata: %E\n" +msgstr "%P: %pB: не могу да читам Ñадржаје одељка „.idata“: %E\n" -#: ei386beos.c:646 -msgid "%F%P: section %s has '$' as first character\n" -msgstr "%F%P: одељак „%s“ има $ као први знак\n" +#: ei386beos.c:640 +msgid "%P: section %s has '$' as first character\n" +msgstr "%P: одељак „%s“ има $ као први знак\n" -#: ei386beos.c:676 -msgid "%F%P: *(%s$) missing from linker script\n" -msgstr "%F%P: „*(%s$)“ недоÑтаје из Ñкрипте повезивача\n" +#: ei386beos.c:670 +msgid "%P: *(%s$) missing from linker script\n" +msgstr "%P: „*(%s$)“ недоÑтаје из Ñкрипте повезивача\n" #: em68hc11elf.c:144 em68hc11elfb.c:144 em68hc12elf.c:144 em68hc12elfb.c:144 msgid "%P: warning: the size of the 'window' memory region is not a power of 2; its size %d is truncated to %d\n" @@ -6976,8 +7016,8 @@ msgstr "" " раÑпоред прозора групе меморије\n" #: em68kelf.c:92 em68kelfnbsd.c:92 -msgid "%F%P: %pB: all input objects must be ELF for --embedded-relocs\n" -msgstr "%F%P: %pB: Ñви улазни објекти морају бити „ELF“ за „--embedded-relocs“\n" +msgid "%P: %pB: all input objects must be ELF for --embedded-relocs\n" +msgstr "%P: %pB: Ñви улазни објекти морају бити „ELF“ за „--embedded-relocs“\n" #: em68kelf.c:701 em68kelfnbsd.c:701 msgid "%P: unrecognized --got argument '%s'\n" @@ -6988,7 +7028,7 @@ msgstr "%P: непознат „--got“ аргумент „%s“\n" msgid " --got=<type> Specify GOT handling scheme\n" msgstr " --got=<врÑта> Ðаводи шему „GOT“ руковања\n" -#: emmo.c:333 +#: emmo.c:330 msgid "%X%P: internal problems scanning %pB after opening it" msgstr "%X%P: унутрашњи проблеми Ñкенирања „%pB“ након његовог отварања" @@ -7054,8 +7094,8 @@ msgstr "%P: грешка: непознат аргумент за „--data-regio #. Incompatible objects. #: ends32belf.c:129 ends32belf16m.c:129 ends32belf_linux.c:129 ends32elf.c:129 #: ends32elf16m.c:129 ends32elf_linux.c:129 -msgid "%F%P: %pB: ABI version of object files mismatched\n" -msgstr "%F%P: %pB: „ABI“ издање објектних датотека не одговара\n" +msgid "%P: %pB: ABI version of object files mismatched\n" +msgstr "%P: %pB: ABI издање објектних датотека не одговара\n" #: ends32belf.c:450 ends32belf16m.c:450 ends32belf_linux.c:583 ends32elf.c:450 #: ends32elf16m.c:450 ends32elf_linux.c:583 @@ -7128,9 +7168,23 @@ msgstr " --no-omagic ИÑто што и „--nmagic“\ msgid " --format 0|1|2 Specify which COFF version to use\n" msgstr " --format 0|1|2 Ðаводи које „COFF“ издање ће Ñе кориÑтити\n" -#: etic3xcoff.c:92 etic3xcoff_onchip.c:92 etic4xcoff.c:92 etic54xcoff.c:92 -msgid "%F%P: invalid COFF format version %s\n" -msgstr "%F%P: неиÑправно издање „COFF“ запиÑа „%s“\n" +#: etic3xcoff.c:91 etic3xcoff_onchip.c:91 etic4xcoff.c:91 etic54xcoff.c:91 +msgid "%P: invalid COFF format version %s\n" +msgstr "%P: неиÑправно издање „COFF“ запиÑа „%s“\n" + +#~ msgid "%F%P: %pB: bfd_stat failed: %E\n" +#~ msgstr "%F%P: %pB: „bfd_stat“ није уÑпело: %E\n" + +#~ msgid "%F%P: %pB: can't read contents of section .gnu.warning: %E\n" +#~ msgstr "%F%P: %pB: не могу да читам Ñадржаје одељка „.gnu.warning“: %E\n" + +#, c-format +#~ msgid "" +#~ " --taso Load executable in the lower 31-bit addressable\n" +#~ " virtual address range\n" +#~ msgstr "" +#~ " --taso Учитава извршну у нижем 31-битном адреÑивом\n" +#~ " виртуелном опÑегу адреÑе\n" #~ msgid "%P: warning: -z dynamic-undefined-weak ignored\n" #~ msgstr "%P: упозорење: „-z dynamic-undefined-weak“ је занемарено\n" diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index be8d19f..6d34912 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -734,7 +734,7 @@ cat <<EOF data, but this is not guaranteed to always be the case. */ .note.build-id : { *(.note.build-id) } ${RELOCATING+${REGION}} .note.GNU-stack : { *(.note.GNU-stack) } ${RELOCATING+${REGION}} - .note.gnu-property : { *(.note.gnu-property) } ${RELOCATING+${REGION}} + .note.gnu.property : { *(.note.gnu.property) } ${RELOCATING+${REGION}} .note.ABI-tag : { *(.note.ABI-tag) } ${RELOCATING+${REGION}} .note.package : { *(.note.package) } ${RELOCATING+${REGION}} .note.dlopen : { *(.note.dlopen) } ${RELOCATING+${REGION}} diff --git a/ld/testplug.c b/ld/testplug.c index ffb7787..e5c3ec2 100644 --- a/ld/testplug.c +++ b/ld/testplug.c @@ -20,7 +20,6 @@ #include "sysdep.h" #include "bfd.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin-api.h" /* For ARRAY_SIZE macro only - we don't link the library itself. */ #include "libiberty.h" @@ -673,4 +672,3 @@ oncleanup (void) fflush (NULL); return cleanup_ret; } -#endif /* BFD_SUPPORTS_PLUGINS */ diff --git a/ld/testplug2.c b/ld/testplug2.c index f792383..788d193 100644 --- a/ld/testplug2.c +++ b/ld/testplug2.c @@ -21,7 +21,6 @@ #include "sysdep.h" #include "bfd.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin-api.h" #include "filenames.h" /* For ARRAY_SIZE macro only - we don't link the library itself. */ @@ -675,4 +674,3 @@ oncleanup (void) fflush (NULL); return cleanup_ret; } -#endif /* BFD_SUPPORTS_PLUGINS */ diff --git a/ld/testplug3.c b/ld/testplug3.c index 0373534..91a9661 100644 --- a/ld/testplug3.c +++ b/ld/testplug3.c @@ -21,7 +21,6 @@ #include "sysdep.h" #include "bfd.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin-api.h" #include "filenames.h" /* For ARRAY_SIZE macro only - we don't link the library itself. */ @@ -633,4 +632,3 @@ oncleanup (void) fflush (NULL); return cleanup_ret; } -#endif /* BFD_SUPPORTS_PLUGINS */ diff --git a/ld/testplug4.c b/ld/testplug4.c index 71eaf59..21a2cd1 100644 --- a/ld/testplug4.c +++ b/ld/testplug4.c @@ -21,7 +21,6 @@ #include "sysdep.h" #include "bfd.h" -#if BFD_SUPPORTS_PLUGINS #include "plugin-api.h" #include "filenames.h" /* For ARRAY_SIZE macro only - we don't link the library itself. */ @@ -681,4 +680,3 @@ oncleanup (void) fflush (NULL); return cleanup_ret; } -#endif /* BFD_SUPPORTS_PLUGINS */ diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp index 1c12ce6..9986397 100644 --- a/ld/testsuite/config/default.exp +++ b/ld/testsuite/config/default.exp @@ -117,12 +117,18 @@ if {![info exists CC_FOR_TARGET]} { if {![info exists CFLAGS_FOR_TARGET]} { set CFLAGS_FOR_TARGET "-g -O2" } +if {![info exists CFLAGS_FOR_TARGET_TEST]} { + set CFLAGS_FOR_TARGET_TEST "" +} if {![info exists CXX_FOR_TARGET]} { set CXX_FOR_TARGET [find_g++] } if {![info exists CXXFLAGS_FOR_TARGET]} { set CXXFLAGS_FOR_TARGET "" } +if {![info exists CXXFLAGS_FOR_TARGET_TEST]} { + set CXXFLAGS_FOR_TARGET_TEST "" +} # This allows us to run the linker testsuite with clang as the compilation # driver instead of gcc. The syntax of the overrides are as follows, one @@ -450,6 +456,22 @@ if { ![info exists NOPIE_CFLAGS] || ![info exists NOPIE_LDFLAGS] } then { } } +if { ![info exists DIRECT_EXTERN_ACCESS_CFLAGS] } then { + set DIRECT_EXTERN_ACCESS_CFLAGS "" + set NO_DIRECT_EXTERN_ACCESS_CFLAGS "" + # Exclude LoongArch since -mdirect-extern-access on LoongArch works + # only without dynamic linker. + if { ![istarget loongarch*-*-*] } { + if [compiler_supports "-mdirect-extern-access"] { + set DIRECT_EXTERN_ACCESS_CFLAGS "-mdirect-extern-access" + set NO_DIRECT_EXTERN_ACCESS_CFLAGS "-mno-direct-extern-access" + } elseif [compiler_supports "-fdirect-access-external-data"] { + set DIRECT_EXTERN_ACCESS_CFLAGS "-fdirect-access-external-data" + set NO_DIRECT_EXTERN_ACCESS_CFLAGS "-fno-direct-access-external-data" + } + } +} + if { ![info exists NOCF_PROTECTION_CFLAGS] } then { set NOCF_PROTECTION_CFLAGS "" if [compiler_supports "-fcf-protection=none"] { diff --git a/ld/testsuite/ld-aarch64/protections/bti-far.ld b/ld/testsuite/ld-aarch64/protections/bti-far.ld index 1568f18..d3ed904 100644 --- a/ld/testsuite/ld-aarch64/protections/bti-far.ld +++ b/ld/testsuite/ld-aarch64/protections/bti-far.ld @@ -19,7 +19,7 @@ SECTIONS . = 0x12340000; .far : { *(.far) } /* Start of the Read Only Data region. */ - .note.gnu-property : { *(.note.gnu-property) } + .note.gnu.property : { *(.note.gnu.property) } /* Start of the Read Write Data region. */ . = ALIGN (CONSTANT (MAXPAGESIZE)); diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt.ld b/ld/testsuite/ld-aarch64/protections/bti-plt.ld index c930fc8..fffb8a98 100644 --- a/ld/testsuite/ld-aarch64/protections/bti-plt.ld +++ b/ld/testsuite/ld-aarch64/protections/bti-plt.ld @@ -17,7 +17,7 @@ SECTIONS . = 0x20000; .text : { *(.text) } /* Start of the Read Only Data region. */ - .note.gnu-property : { *(.note.gnu-property) } + .note.gnu.property : { *(.note.gnu.property) } /* Start of the Read Write Data region. */ . = ALIGN (CONSTANT (MAXPAGESIZE)); diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index d193498..bf627f3 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -338,7 +338,7 @@ set tmp { "-shared -T arm-dyn.ld --hash-style=sysv" "" "" {gc-thumb-lib.s} {} "gc-thumb-lib.so"} - {"Thumb and -gc-sections" "-pie -T arm.ld -gc-sections tmpdir/gc-thumb-lib.so" "" "" {gc-thumb.s} + {"Thumb and -gc-sections (pie)" "-pie -T arm.ld -gc-sections tmpdir/gc-thumb-lib.so" "" "" {gc-thumb.s} {{readelf --relocs gc-thumb.d}} "gc-thumb"} {"Simple non-PIC shared library" "-shared" "" "" {arm-lib.s} @@ -444,7 +444,7 @@ if { ![istarget "arm*-*-*eabi*"] } { {"Thumb-2-as-Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-as-thumb1-bad.s} {{objdump -d thumb2-bl-as-thumb1-bad-noeabi.d}} "thumb2-bl-as-thumb1-bad"} - {"Thumb-2 BL bad" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-bad.s} + {"Thumb-2 BL bad noeabi" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-bad.s} {{objdump -d thumb2-bl-bad-noeabi.d}} "thumb2-bl-bad"} } @@ -646,7 +646,7 @@ set armeabitests { {"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} + {"Thumb-2 BL bad" "-Ttext 0x1000 --section-start .foo=0x100100c" "" "" {thumb2-bl-bad.s} {{objdump -d thumb2-bl-bad.d}} "thumb2-bl-bad"} {"Branch to linker script symbol with BL for thumb-only target" "-T branch-lks-sym.ld" "" "" {thumb-bl-lks-sym.s} @@ -681,7 +681,7 @@ set armeabitests { {{objdump -d fix-arm1176-off.d}} "fix-arm1176-6"} - {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv7" {thumb2-bl.s} + {"Thumb-2 BL on armv7" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv7" {thumb2-bl.s} {{objdump -dr thumb2-bl.d}} "thumb2-bl"} {"Thumb-2 BL on ARMv6-M" "-Ttext 0x1000 --section-start .foo=0x1001000" "" "-march=armv6-m" {thumb2-bl.s} diff --git a/ld/testsuite/ld-arm/group-relocs-alu-bad-2.d b/ld/testsuite/ld-arm/group-relocs-alu-bad-2.d index e3f1df7..1912cd6 100644 --- a/ld/testsuite/ld-arm/group-relocs-alu-bad-2.d +++ b/ld/testsuite/ld-arm/group-relocs-alu-bad-2.d @@ -1,4 +1,4 @@ -#name: ALU group relocations failure test +#name: ALU group relocations failure test (2) #source: group-relocs-alu-bad-2.s #ld: -Ttext 0x8000 --section-start foo=0x1208000 #error: overflow whilst splitting 0x1234 for group relocation diff --git a/ld/testsuite/ld-arm/group-relocs-ldc-bad-2.d b/ld/testsuite/ld-arm/group-relocs-ldc-bad-2.d index cc52ecc..ce645b7 100644 --- a/ld/testsuite/ld-arm/group-relocs-ldc-bad-2.d +++ b/ld/testsuite/ld-arm/group-relocs-ldc-bad-2.d @@ -1,4 +1,4 @@ -#name: LDC group relocations failure test +#name: LDC group relocations failure test (2) #source: group-relocs-ldc-bad-2.s #ld: -Ttext 0x8000 --section-start foo=0x118400 #error: overflow whilst splitting 0x123456 for group relocation diff --git a/ld/testsuite/ld-arm/group-relocs-ldr-bad-2.d b/ld/testsuite/ld-arm/group-relocs-ldr-bad-2.d index 771395d..8de930e 100644 --- a/ld/testsuite/ld-arm/group-relocs-ldr-bad-2.d +++ b/ld/testsuite/ld-arm/group-relocs-ldr-bad-2.d @@ -1,4 +1,4 @@ -#name: LDR group relocations failure test +#name: LDR group relocations failure test (2) #source: group-relocs-ldr-bad-2.s #ld: -Ttext 0x8000 --section-start foo=0x8001000 #error: .*overflow whilst splitting 0x7ff9000 for group relocation.* diff --git a/ld/testsuite/ld-arm/group-relocs-ldrs-bad-2.d b/ld/testsuite/ld-arm/group-relocs-ldrs-bad-2.d index c104ea6..fc5c3f9 100644 --- a/ld/testsuite/ld-arm/group-relocs-ldrs-bad-2.d +++ b/ld/testsuite/ld-arm/group-relocs-ldrs-bad-2.d @@ -1,4 +1,4 @@ -#name: LDRS group relocations failure test +#name: LDRS group relocations failure test (2) #source: group-relocs-ldrs-bad-2.s #ld: -Ttext 0x8000 --section-start foo=0x8000100 #error: overflow whilst splitting 0x7ff8100 for group relocation diff --git a/ld/testsuite/ld-checks/over2.d b/ld/testsuite/ld-checks/over2.d index 511b917..b082c59 100644 --- a/ld/testsuite/ld-checks/over2.d +++ b/ld/testsuite/ld-checks/over2.d @@ -1,4 +1,4 @@ -#name: section size overflow +#name: section size overflow (2) #source: over2.s #ld: -Ttext=0xfffffffc #nm: -n diff --git a/ld/testsuite/ld-cris/tls-local-63.d b/ld/testsuite/ld-cris/tls-local-63.d index 4dcdb2e..d0841fb 100644 --- a/ld/testsuite/ld-cris/tls-local-63.d +++ b/ld/testsuite/ld-cris/tls-local-63.d @@ -2,18 +2,15 @@ #source: tls-hx.s #as: --no-underscore --emulation=criself #ld: -m crislinux --shared --hash-style=sysv -#readelf: -a -x 6 -x 8 -x 5 +#readelf: -r -s -x 6 -x 8 -x 5 # A R_CRIS_16_GOT_TPREL in a DSO against a hidden symbol. Make sure # the relocation, GOT, .text and .tdata have the right contents. -#... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset Info Type Sym.Value Sym. Name \+ Addend 000021a0 0000001c R_CRIS_32_TPREL[ ]+0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains 3 entries: Num: Value Size Type Bind Vis Ndx Name #... @@ -23,9 +20,9 @@ Symbol table '.symtab' contains 13 entries: #... Hex dump of section '.text': 0x00000114 5fae0c00 .* -#... + Hex dump of section '.tdata': 0x00002118 280+ .* -#... + Hex dump of section '.got': 0x0+2194 1c210000 0+ 0+ 0+ .* diff --git a/ld/testsuite/ld-cris/tls-local-64.d b/ld/testsuite/ld-cris/tls-local-64.d index 38f90c8..68989d3 100644 --- a/ld/testsuite/ld-cris/tls-local-64.d +++ b/ld/testsuite/ld-cris/tls-local-64.d @@ -3,19 +3,16 @@ #source: tls-hx.s #as: --no-underscore --emulation=criself #ld: -m crislinux --shared --hash-style=sysv -#readelf: -a -x 6 -x 8 -x 5 +#readelf: -r -s -x 6 -x 8 -x 5 # A R_CRIS_16_GOT_TPREL in a DSO against a hidden symbol, at an offset # into .data. Make sure the relocation, GOT, .text and .tdata have # the right contents. -#... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset Info Type Sym.Value Sym. Name \+ Addend 00002220 0000001c R_CRIS_32_TPREL[ ]+80 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains 3 entries: Num: Value Size Type Bind Vis Ndx Name #... @@ -25,13 +22,13 @@ Symbol table '.symtab' contains [0-9]+ entries: #... Hex dump of section '.text': 0x00000114 5fae0c00 .* -#... + Hex dump of section '.tdata': 0x00002118 2f0+ 0+ 0+ 0+ .* 0x00002128 0+ 0+ 0+ 0+ .* #... 0x00002188 0+ 0+ 0+ 0+ .* 0x00002198 280+ .* -#... + Hex dump of section '.got': 0x0+2214 9c210000 0+ 0+ 80+ .* diff --git a/ld/testsuite/ld-cris/tls-und-38.d b/ld/testsuite/ld-cris/tls-und-38.d index 07c0662..1174658 100644 --- a/ld/testsuite/ld-cris/tls-und-38.d +++ b/ld/testsuite/ld-cris/tls-und-38.d @@ -1,20 +1,17 @@ #source: tls-gd-2.s --pic #as: --no-underscore --emulation=criself #ld: -m crislinux --shared --hash-style=sysv -#readelf: -a -x 7 +#readelf: -r -s -x 7 # Undefined reference for a R_CRIS_32_GOT_GD in a DSO. Not an error; # it's ok for a DSO to have undefined references upon creation for # global symbols that can be overridden. Just make sure GOT, dynsyms # and dynrelocs look right. -#... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 00002190 +00000217 R_CRIS_DTP +00000000 +x \+ 0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name #... diff --git a/ld/testsuite/ld-cris/tls-und-42.d b/ld/testsuite/ld-cris/tls-und-42.d index b7309a7..0fe1dfa 100644 --- a/ld/testsuite/ld-cris/tls-und-42.d +++ b/ld/testsuite/ld-cris/tls-und-42.d @@ -1,20 +1,17 @@ #source: tls-ie-10.s --pic #as: --no-underscore --emulation=criself #ld: -m crislinux --shared --hash-style=sysv -#readelf: -a -x 7 +#readelf: -r -s -x 7 # Undefined reference for a R_CRIS_32_GOT_TPREL in a DSO. Not an # error; it's ok for a DSO to have undefined references upon creation # for global symbols that can be overridden. Just make sure GOT, # dynsyms and dynrelocs look right. -#... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 00002198 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name #... diff --git a/ld/testsuite/ld-cris/tls-und-46.d b/ld/testsuite/ld-cris/tls-und-46.d index 1088e42..d536844 100644 --- a/ld/testsuite/ld-cris/tls-und-46.d +++ b/ld/testsuite/ld-cris/tls-und-46.d @@ -1,20 +1,17 @@ #source: tls-gd-1.s --pic #as: --no-underscore --emulation=criself #ld: -m crislinux --shared --hash-style=sysv -#readelf: -a -x 7 +#readelf: -r -s -x 7 # Undefined reference for a R_CRIS_16_GOT_GD in a DSO. Not an error; # it's ok for a DSO to have undefined references upon creation for # global symbols that can be overridden. Just make sure GOT, dynsyms # and dynrelocs look right. -#... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 0000218c +00000217 R_CRIS_DTP +00000000 +x \+ 0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name #... diff --git a/ld/testsuite/ld-cris/tls-und-50.d b/ld/testsuite/ld-cris/tls-und-50.d index 2b22a21..fd6ff4c 100644 --- a/ld/testsuite/ld-cris/tls-und-50.d +++ b/ld/testsuite/ld-cris/tls-und-50.d @@ -1,20 +1,17 @@ #source: tls-ie-8.s --pic #as: --no-underscore --emulation=criself #ld: -m crislinux --shared --hash-style=sysv -#readelf: -a -x 7 +#readelf: -r -s -x 7 # Undefined reference for a R_CRIS_16_GOT_TPREL in a DSO. Not an # error; it's ok for a DSO to have undefined references upon creation # for global symbols that can be overridden. Just make sure GOT, # dynsyms and dynrelocs look right. -#... Relocation section '.rela.dyn' at offset 0x.* contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 00002190 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name #... diff --git a/ld/testsuite/ld-cris/weakref3.d b/ld/testsuite/ld-cris/weakref3.d index a4a55b4..ffb9955 100644 --- a/ld/testsuite/ld-cris/weakref3.d +++ b/ld/testsuite/ld-cris/weakref3.d @@ -3,7 +3,7 @@ #as: --no-underscore --emulation=criself #ld: -m crislinux --hash-style=sysv #ld_after_inputfiles: tmpdir/libdso-15.so -#readelf: -a -x 10 +#readelf: -S -r -s -x 10 # Like libdso-15b.d, but referencing the weak symbol and function from # a program. At some time we broke emitting a copy reloc for the @@ -22,8 +22,6 @@ Relocation section '.rela.plt' at offset 0x... contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend .* R_CRIS_JUMP_SLOT .* expfn2@TST3 \+ 0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains . entries: #... +.: [0-9a-f]* +4 +OBJECT +GLOBAL +DEFAULT +13 __expobj2@TST3 \(2\) diff --git a/ld/testsuite/ld-cris/weakref4.d b/ld/testsuite/ld-cris/weakref4.d index 9012bdc..a52f86a 100644 --- a/ld/testsuite/ld-cris/weakref4.d +++ b/ld/testsuite/ld-cris/weakref4.d @@ -3,7 +3,7 @@ #as: --no-underscore --emulation=criself #ld: -m crislinux --hash-style=sysv #ld_after_inputfiles: tmpdir/libdso-15.so -#readelf: -a -x 11 +#readelf: -S -r -s -x 11 # Like weakref3.d, but just the expobj2 referenced from .data. We # should avoid a copy reloc (instead emitting a R_CRIS_GLOB_DAT or @@ -19,8 +19,6 @@ Relocation section '.rela.dyn' at offset 0x... contains 1 entry: #... .* R_CRIS_COPY .* __expobj2@TST3 \+ 0 -The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. - Symbol table '.dynsym' contains . entries: #... +.: [0-9a-f]* +4 +OBJECT +GLOBAL +DEFAULT +12 __expobj2@TST3 \(2\) diff --git a/ld/testsuite/ld-ctf/ctf.exp b/ld/testsuite/ld-ctf/ctf.exp index c314f29..3ce5e1e 100644 --- a/ld/testsuite/ld-ctf/ctf.exp +++ b/ld/testsuite/ld-ctf/ctf.exp @@ -38,6 +38,11 @@ if {[info exists env(LC_ALL)]} { } set env(LC_ALL) "C" +set saved_ASFLAGS "$ASFLAGS" +if [istarget "sparc-*-*"] { + append ASFLAGS " -Av8plus" +} + set ctf_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] foreach ctf_test $ctf_test_list { @@ -50,6 +55,8 @@ foreach ctf_test $ctf_test_list { run_dump_test [file rootname $ctf_test] { { cc "-gctf -fPIC" } } } +set ASFLAGS "$saved_ASFLAGS" + if {[info exists old_lc_all]} { set env(LC_ALL) $old_lc_all } else { diff --git a/ld/testsuite/ld-elf/dwarf.exp b/ld/testsuite/ld-elf/dwarf.exp index c7b2915..4f79635 100644 --- a/ld/testsuite/ld-elf/dwarf.exp +++ b/ld/testsuite/ld-elf/dwarf.exp @@ -69,11 +69,11 @@ set run_tests { } # Disable all sanitizers. -set old_CFLAGS "$CFLAGS_FOR_TARGET" -append CFLAGS_FOR_TARGET " $NOSANITIZE_CFLAGS" +set old_CFLAGS "$CFLAGS_FOR_TARGET_TEST" +append CFLAGS_FOR_TARGET_TEST " $NOSANITIZE_CFLAGS" run_cc_link_tests $build_tests run_ld_link_exec_tests $run_tests -set CFLAGS_FOR_TARGET "$old_CFLAGS" +set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" proc strip_test {} { global ld diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp index 1ae1af9..098e712 100644 --- a/ld/testsuite/ld-elf/elf.exp +++ b/ld/testsuite/ld-elf/elf.exp @@ -86,6 +86,9 @@ run_ld_link_tests [list \ if [is_elf64 tmpdir/symbol3w.a] { set ASFLAGS "$ASFLAGS --defsym ALIGN=3" + if { [istarget powerpc*-*-linux*] } { + set LDFLAGS "$LDFLAGS --no-ld-generated-unwind-info" + } set pr23900_1_exp "pr23900-1-64.rd" set pr25490_2_exp "pr25490-2-64.rd" set pr25490_3_exp "pr25490-3-64.rd" @@ -285,6 +288,13 @@ if { [istarget *-*-*linux*] {pr29072-a.s} \ {{ld pr29072.a.warn}} \ "pr29072-a.exe"] \ + [list "Test --error-execstack with an executable .note.GNU-stack" \ + "--warn-execstack --error-execstack" \ + "" \ + "" \ + {pr29072-a.s} \ + {{ld gnu_execstack.err}} \ + "gnu_execstack.exe"] \ [list "PR 29072 (warn about -z execstack)" \ "-z execstack --warn-execstack --no-error-execstack" \ "" \ @@ -292,6 +302,13 @@ if { [istarget *-*-*linux*] {stack.s} \ {{ld pr29072.c.warn}} \ "pr29072-c.exe"] \ + [list "Test --error-execstack with -z execstack" \ + "-z execstack --warn-execstack --error-execstack" \ + "" \ + "" \ + {stack.s} \ + {{ld z_execstack.err}} \ + "execstack.exe"] \ [list "PR ld/29072 (suppress warnings about executable stack)" \ "-e 0 --no-warn-execstack" \ "" \ @@ -299,13 +316,20 @@ if { [istarget *-*-*linux*] {pr29072-a.s} \ {} \ "pr29072-d.exe"] \ - [list "Ensure that a warning issued when creating a segment with RWX permissions" \ + [list "Ensure that a warning is issued when creating a segment with RWX permissions" \ "-e 0 -Tnobits-1.t --warn-rwx-segments --no-error-rwx-segments" \ "" \ "" \ {nobits-1.s} \ {{ld rwx-segments-1.l}} \ "rwx-segments-1.exe"] \ + [list "Ensure that a error can be issued when creating a segment with RWX permissions" \ + "-e 0 -Tnobits-1.t --warn-rwx-segments --error-rwx-segments" \ + "" \ + "" \ + {nobits-1.s} \ + {{ld rwx-segments-3.err}} \ + "rwx-segments-3.exe"] \ [list "Ensure that a warning issued when creating a TLS segment with execute permission" \ "-e 0 -T rwx-segments-2.t --warn-rwx-segments --no-error-rwx-segments" \ "" \ @@ -313,6 +337,13 @@ if { [istarget *-*-*linux*] {size-2.s} \ {{ld rwx-segments-2.l}} \ "rwx-segments-2.exe"] \ + [list "Ensure that an error cn be issued when creating a TLS segment with execute permission" \ + "-e 0 -T rwx-segments-2.t --warn-rwx-segments --error-rwx-segments" \ + "" \ + "" \ + {size-2.s} \ + {{ld rwx-segments-4.err}} \ + "rwx-segments-4.exe"] \ [list "Ensure that the RWX warning can be suppressed" \ "-e 0 -Tnobits-1.t --no-warn-rwx-segments" \ "" \ @@ -334,6 +365,16 @@ if { [istarget *-*-*linux*] {{ld pr29072.b.warn}} \ "pr29072-b.exe"] \ ] + + run_ld_link_tests [list \ + [list "error when .note.GNU-stack is absent" \ + "-e 0 -z stack-size=0x123400 --warn-execstack --error-execstack" \ + "" \ + "" \ + {pr29072-b.s} \ + {{ld missing-execstack.err}} \ + "missing-execstack.exe"] \ + ] } else { run_ld_link_tests [list \ [list "PR ld/29072 (ignore absent .note.GNU-stack)" \ diff --git a/ld/testsuite/ld-elf/gnu_execstack.err b/ld/testsuite/ld-elf/gnu_execstack.err new file mode 100644 index 0000000..be70b63 --- /dev/null +++ b/ld/testsuite/ld-elf/gnu_execstack.err @@ -0,0 +1,3 @@ +#... +.*: error: .*: is triggering the generation of an executable stack \(because it has an executable .note.GNU-stack section\) +#... diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp index 27173b9..a4dfc8a 100644 --- a/ld/testsuite/ld-elf/linux-x86.exp +++ b/ld/testsuite/ld-elf/linux-x86.exp @@ -84,9 +84,9 @@ run_cc_link_tests [list \ ] \ [list \ "Build indirect-extern-access-1a without PIE" \ - "$NOPIE_LDFLAGS -Wl,--no-as-needed -z noexecstack \ + "$NOPIE_LDFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS -Wl,--no-as-needed -z noexecstack \ tmpdir/indirect-extern-access-1.so" \ - "$NOPIE_CFLAGS" \ + "$NOPIE_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS" \ { indirect-extern-access.S indirect-extern-access-1b.c } \ {{readelf -rn indirect-extern-access-1.rd}} \ "indirect-extern-access-1a" \ @@ -101,9 +101,9 @@ run_cc_link_tests [list \ ] \ [list \ "Build indirect-extern-access-2a without PIE" \ - "$NOPIE_LDFLAGS -Wl,--no-as-needed -z noexecstack \ + "$NOPIE_LDFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS -Wl,--no-as-needed -z noexecstack \ tmpdir/indirect-extern-access-2.so" \ - "$NOPIE_CFLAGS" \ + "$NOPIE_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS" \ { indirect-extern-access.S indirect-extern-access-1b.c } \ {{readelf -rn indirect-extern-access-2.rd}} \ "indirect-extern-access-2a" \ @@ -375,11 +375,11 @@ proc check_pr25749a {testname srcfilea srcfileb cflags ldflags lderror} { check_pr25749a "pr25749-1a" "pr25749-1.c" "pr25749-1a.c" "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" "" check_pr25749a "pr25749-1a" "pr25749-1.c" "pr25749-1a.c" "-fPIE" "-pie" "" -check_pr25749a "pr25749-1b" "pr25749-1.c" "pr25749-1b.c" "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" "" +check_pr25749a "pr25749-1b" "pr25749-1.c" "pr25749-1b.c" "$NOPIE_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS" "$NOPIE_LDFLAGS" "" if { [istarget "i?86-*-linux*"] || ![at_least_gcc_version 5 1] } { - check_pr25749a "pr25749-1b" "pr25749-1.c" "pr25749-1b.c" "-fPIE" "-pie" "" + check_pr25749a "pr25749-1b" "pr25749-1.c" "pr25749-1b.c" "-fPIE $DIRECT_EXTERN_ACCESS_CFLAGS" "-pie" "" } else { - check_pr25749a "pr25749-1b" "pr25749-1.c" "pr25749-1b.c" "-fPIE" "-pie" "pr25749-1b.err" + check_pr25749a "pr25749-1b" "pr25749-1.c" "pr25749-1b.c" "-fPIE $DIRECT_EXTERN_ACCESS_CFLAGS" "-pie" "pr25749-1b.err" } check_pr25749a "pr25749-1c" "pr25749-1.c" "pr25749-1c.c" "-fPIC" "-shared" "pr25749-1b.err" check_pr25749a "pr25749-2a" "pr25749-2.c" "pr25749-2a.s" "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" "" diff --git a/ld/testsuite/ld-elf/missing-execstack.err b/ld/testsuite/ld-elf/missing-execstack.err new file mode 100644 index 0000000..9549cf5 --- /dev/null +++ b/ld/testsuite/ld-elf/missing-execstack.err @@ -0,0 +1,3 @@ +#... +.*: error: .*\.o: is triggering the generation of an executable stack because it does not have a .note.GNU-stack section +#... diff --git a/ld/testsuite/ld-elf/pr33291.d b/ld/testsuite/ld-elf/pr33291.d new file mode 100644 index 0000000..22a8336 --- /dev/null +++ b/ld/testsuite/ld-elf/pr33291.d @@ -0,0 +1,9 @@ +#source: pr33291a.s +#source: pr33291b.s +#ld: -shared +#readelf: -S --wide +#xfail: ![check_shared_lib_support] + +#... + \[[ 0-9]+\] \.rodata[ ]+PROGBITS[ ]+[0-9a-f]+ [0-9a-f]+ 0+9 00 +A +0 +0 +8 +#... diff --git a/ld/testsuite/ld-elf/pr33291a.s b/ld/testsuite/ld-elf/pr33291a.s new file mode 100644 index 0000000..587c0fb --- /dev/null +++ b/ld/testsuite/ld-elf/pr33291a.s @@ -0,0 +1,8 @@ + .globl foo + .section .rodata.cst8,"aM",%progbits,8 + .p2align 3 + .type foo, %object + .size foo, 8 +foo: + .quad 131073 + .section .note.GNU-stack,"",%progbits diff --git a/ld/testsuite/ld-elf/pr33291b.s b/ld/testsuite/ld-elf/pr33291b.s new file mode 100644 index 0000000..69f6b3d --- /dev/null +++ b/ld/testsuite/ld-elf/pr33291b.s @@ -0,0 +1,7 @@ + .globl bar + .section .rodata.cst1,"aM",%progbits,1 + .type bar, %object + .size bar, 1 +bar: + .byte 1 + .section .note.GNU-stack,"",%progbits diff --git a/ld/testsuite/ld-elf/pr33409a.c b/ld/testsuite/ld-elf/pr33409a.c new file mode 100644 index 0000000..c37a5e6 --- /dev/null +++ b/ld/testsuite/ld-elf/pr33409a.c @@ -0,0 +1,20 @@ +#include <stdio.h> + +extern char *array[]; + +char ** +foo (void) +{ + return array; +} + +extern void bar (void); + +int +main() +{ + char **p = foo (); + bar (); + printf ("%s\n", p[0]); + return 0; +} diff --git a/ld/testsuite/ld-elf/pr33409b.c b/ld/testsuite/ld-elf/pr33409b.c new file mode 100644 index 0000000..db64e13 --- /dev/null +++ b/ld/testsuite/ld-elf/pr33409b.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +char *__array [] = +{ + "PASS", + NULL +}; + +extern __typeof (__array) array __attribute__ ((weak, alias ("__array"))); diff --git a/ld/testsuite/ld-elf/pr33409c.c b/ld/testsuite/ld-elf/pr33409c.c new file mode 100644 index 0000000..7de81b3 --- /dev/null +++ b/ld/testsuite/ld-elf/pr33409c.c @@ -0,0 +1,4 @@ +void +bar (void) +{ +} diff --git a/ld/testsuite/ld-elf/rwx-segments-3.err b/ld/testsuite/ld-elf/rwx-segments-3.err new file mode 100644 index 0000000..5a584db --- /dev/null +++ b/ld/testsuite/ld-elf/rwx-segments-3.err @@ -0,0 +1,3 @@ +#... +.* error: .* has a LOAD segment with RWX permissions +#...
\ No newline at end of file diff --git a/ld/testsuite/ld-elf/rwx-segments-4.err b/ld/testsuite/ld-elf/rwx-segments-4.err new file mode 100644 index 0000000..2603f57 --- /dev/null +++ b/ld/testsuite/ld-elf/rwx-segments-4.err @@ -0,0 +1,3 @@ +#... +.*: error: .* has a TLS segment with execute permission +#... diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index ee881c2..fad3812 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -972,7 +972,13 @@ append build_tests { {pr26580-b.c} {} "libpr26580-2.so"} } +set old_CFLAGS "$CFLAGS_FOR_TARGET_TEST" +set old_CXXFLAGS "$CXXFLAGS_FOR_TARGET_TEST" +append CFLAGS_FOR_TARGET_TEST " $NOSANITIZE_CFLAGS" +append CXXFLAGS_FOR_TARGET_TEST " $NOSANITIZE_CFLAGS" run_cc_link_tests $build_tests +set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" +set CXXFLAGS_FOR_TARGET_TEST "$old_CXXFLAGS" run_cc_link_tests [list \ [list \ @@ -1010,6 +1016,20 @@ run_cc_link_tests [list \ {nm {-u -D --with-symbol-versions} pr26302.nd}} \ "pr26302b.so" \ ] \ + [list \ + "Build pr33409a.o" \ + "" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS" \ + {pr33409a.c} \ + ] \ + [list \ + "Build pr33409.so" \ + "-shared" \ + "-fPIC" \ + {pr33409b.c} \ + {} \ + "pr33409.so" \ + ] \ ] run_ld_link_tests [list \ @@ -1200,6 +1220,17 @@ set run_tests [list \ "tmpdir/pr31482b-no-lto.so tmpdir/pr31482c-no-lto.a \ tmpdir/pr31482d-no-lto.a" \ ] \ + [list "Run pr33409" \ + "-Wl,-z,text" \ + "" \ + {pr33409c.c} \ + "pr33409" \ + "pass.out" \ + "$NO_DIRECT_EXTERN_ACCESS_CFLAGS" \ + "c" \ + "" \ + "tmpdir/pr33409a.o tmpdir/pr33409.so" \ + ] \ ] # NetBSD ELF systems do not currently support the .*_array sections. @@ -1259,10 +1290,10 @@ if [check_libdl_available] { # XFAIL on NetBSD ELF systems as they do not currently support the .*_array # sections. # Disable all sanitizers. - set old_CFLAGS "$CFLAGS_FOR_TARGET" - append CFLAGS_FOR_TARGET " $NOSANITIZE_CFLAGS" + set old_CFLAGS "$CFLAGS_FOR_TARGET_TEST" + append CFLAGS_FOR_TARGET_TEST " $NOSANITIZE_CFLAGS" run_ld_link_exec_tests $dlopen_run_tests "*-*-netbsd*" - set CFLAGS_FOR_TARGET "$old_CFLAGS" + set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" } # Check --no-add-needed and --no-copy-dt-needed-entries diff --git a/ld/testsuite/ld-elf/z_execstack.err b/ld/testsuite/ld-elf/z_execstack.err new file mode 100644 index 0000000..703b42a --- /dev/null +++ b/ld/testsuite/ld-elf/z_execstack.err @@ -0,0 +1,4 @@ +#... +.*: error: creating an executable stack because of -z execstack command line option +#... + diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index d5cfc75..80faaa0 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -35,7 +35,8 @@ if { ![check_shared_lib_support] } { # This test can only be run on a couple of ELF platforms. # Square bracket expressions seem to confuse istarget. # This is similar to the test that is used in ld-shared, BTW. -if { ![istarget hppa*64*-*-hpux*] +if { ![istarget *-*-solaris2*] + && ![istarget hppa*64*-*-hpux*] && ![istarget hppa*-*-linux*] && ![istarget i?86-*-elf*] && ![istarget i?86-*-linux*] @@ -48,7 +49,6 @@ if { ![istarget hppa*64*-*-hpux*] && ![istarget powerpc*-*-linux*] && ![istarget powerpc*-*-sysv4*] && ![istarget sparc*-*-elf] - && ![istarget sparc*-*-solaris2*] && ![istarget sparc*-*-linux*] && ![istarget aarch64*-*-linux*] && ![istarget arm*-*-linux*] @@ -60,6 +60,13 @@ if { ![istarget hppa*64*-*-hpux*] return } +set need_direct_extern_access "" +if { [istarget i?86-*-linux*] + || [istarget i?86-*-gnu*] } then { + # These targets need direct extern access in some tests. + set need_direct_extern_access "$DIRECT_EXTERN_ACCESS_CFLAGS" +} + set diff diff set tmpdir tmpdir set VOBJDUMP_FLAGS --private-headers @@ -558,7 +565,8 @@ proc build_vers_lib_no_pic { test source libname other mapfile verexp versymexp global shared # Make sure that PLT is used since PLT is expected. global PLT_CFLAGS - build_binary "$shared -z notext" $PLT_CFLAGS $test $source $libname $other $mapfile $verexp $versymexp $symexp "" + global need_direct_extern_access + build_binary "$shared -z notext" "$PLT_CFLAGS $need_direct_extern_access" $test $source $libname $other $mapfile $verexp $versymexp $symexp "" } proc build_vers_lib_pic { test source libname other mapfile verexp versymexp symexp } { @@ -961,7 +969,10 @@ if [string match "yes" $pic] then { build_vers_lib_pic "vers26a" vers26a.c vers26a "" vers26a.map vers26a.ver vers26a.dsym "" build_vers_lib_pic "vers26b1" vers26b.c vers26b1 "" "" vers26b.ver vers26b.dsym "" build_vers_lib_pic "vers26b2" vers26b.c vers26b2 "vers26a.so vers26b1.so vers26a.o" "" vers26b.ver vers26b.dsym "" -if [string match "yes" $pic] then { +if { [istarget x86_64-*-linux*] || [istarget x86_64-*-solaris2*] } then { + # gcc -fPIC generates code that ld rejects. + unsupported "vers26b3" +} elseif [string match "yes" $pic] then { xfail "vers26b3" } else { build_vers_lib_no_pic "vers26b3" vers26b.c vers26b3 "vers26a.so vers26b1.so vers26a.o" "" vers26b.ver vers26b.dsym "" diff --git a/ld/testsuite/ld-i386/binutils.exp b/ld/testsuite/ld-i386/binutils.exp new file mode 100644 index 0000000..1138448 --- /dev/null +++ b/ld/testsuite/ld-i386/binutils.exp @@ -0,0 +1,49 @@ +# Expect script for ELF/i386 binutils tests on linker outputs. +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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. +# + +if ![is_elf_format] { + return +} + +if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } { + return +} + +# Tests here need -melf_i386 support. +set status [catch "exec $LD -V -melf_i386" got] +if { $status == 0 } { + run_ld_link_tests [list \ + [list \ + "Build libgot-1-i386.so" \ + "-shared -melf_i386 --no-ld-generated-unwind-info \ + -z noseparate-code -z max-page-size=0x200000 \ + --rosegment --hash-style=sysv $NO_DT_RELR_LDFLAGS" \ + "" \ + "--32 -mx86-used-note=no --generate-missing-build-notes=no" \ + {got-1.s} \ + {{readelf -rW libgot-1a.rd} \ + {readelf -aW libgot-1b.rd} \ + {readelf --got-contents libgot-1c.rd} \ + {readelf {--got-contents -W} libgot-1d.rd}} \ + "libgot-1-i386.so" \ + ] \ + ] +} diff --git a/ld/testsuite/ld-i386/dt-relr-1c.d b/ld/testsuite/ld-i386/dt-relr-1c.d new file mode 100644 index 0000000..b64860f --- /dev/null +++ b/ld/testsuite/ld-i386/dt-relr-1c.d @@ -0,0 +1,26 @@ +#source: dt-relr-1.s +#as: --32 +#ld: -shared -melf_i386 $DT_RELR_LDFLAGS --hash-style=sysv +#readelf: -D -r -s --wide +#target: x86_64-*-linux* i?86-*-linux-gnu i?86-*-gnu* + +'REL' relocation section at offset [0x0-9a-f]+ contains 16 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +data1 +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +data1 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 8 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 8 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func1 + +Symbol table for image contains [0-9]+ entries: + Num: Value Size Type Bind Vis Ndx Name +#... + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +func1 +#pass diff --git a/ld/testsuite/ld-i386/dt-relr-1d.d b/ld/testsuite/ld-i386/dt-relr-1d.d new file mode 100644 index 0000000..37df7c5 --- /dev/null +++ b/ld/testsuite/ld-i386/dt-relr-1d.d @@ -0,0 +1,26 @@ +#source: dt-relr-1.s +#as: --32 +#ld: -shared -melf_i386 $DT_RELR_LDFLAGS -z nocombreloc --hash-style=sysv +#readelf: -D -r -s --wide +#target: x86_64-*-linux* i?86-*-linux-gnu i?86-*-gnu* + +'REL' relocation section at offset [0x0-9a-f]+ contains 16 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +data1 +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +data1 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 8 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 8 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func1 + +Symbol table for image contains [0-9]+ entries: + Num: Value Size Type Bind Vis Ndx Name +#... + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +func1 +#pass diff --git a/ld/testsuite/ld-i386/dt-relr-2.d b/ld/testsuite/ld-i386/dt-relr-2.d new file mode 100644 index 0000000..7b07d6c --- /dev/null +++ b/ld/testsuite/ld-i386/dt-relr-2.d @@ -0,0 +1,21 @@ +#source: dt-relr-2.s +#as: --32 +#ld: -shared -melf_i386 $DT_RELR_LDFLAGS --hash-style=sysv +#readelf: -D -r --wide +#target: x86_64-*-linux* i?86-*-linux-gnu i?86-*-gnu* + +'REL' relocation section at offset [0x0-9a-f]+ contains 16 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +data1 +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +data1 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 8 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 16 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +[0-9a-f]+ +func1 +[0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +[0-9a-f]+ +func2 diff --git a/ld/testsuite/ld-i386/dt-relr-2.s b/ld/testsuite/ld-i386/dt-relr-2.s new file mode 100644 index 0000000..4c2eb1f --- /dev/null +++ b/ld/testsuite/ld-i386/dt-relr-2.s @@ -0,0 +1,23 @@ + .text + .globl func1 +func1: + ret +foo: + call func1@PLT + call func2@PLT + pushl __ehdr_start@GOT(%ebx) + .globl func2 +func2: + ret + .globl func3 +func3: + ret + .section .bar,"aw",@progbits + .p2align 2 + .dc.a data1 + .dc.a __ehdr_start + + .section .foo,"aw",@progbits + .p2align 2 + .dc.a data1 + .dc.a __ehdr_start diff --git a/ld/testsuite/ld-i386/export-class.exp b/ld/testsuite/ld-i386/export-class.exp index a06a091..919925e 100644 --- a/ld/testsuite/ld-i386/export-class.exp +++ b/ld/testsuite/ld-i386/export-class.exp @@ -31,8 +31,9 @@ if { ![is_elf_format] } { # Exclude some more targets; feel free to include your favorite one # if you like. -if { !([istarget i?86-*-linux*] - || [istarget i?86-*-gnu*]) } { +if { !([istarget "i?86-*-linux*"] + || [istarget "i?86-*-gnu*"] + || [istarget "x86_64-*-linux*"]) } { return } @@ -43,8 +44,9 @@ set testname "i386 symbol export class test" run_ld_link_tests [list \ [list \ "$testname (auxiliary shared object)" \ - "-shared -version-script ../ld-elf/export-class-lib.ver" "" \ + "-melf_i386 -shared -version-script ../ld-elf/export-class-lib.ver" \ "" \ + "--32" \ { ../ld-elf/export-class-lib.s } \ {} \ "i386-export-class-lib.so" \ @@ -57,8 +59,8 @@ run_ld_link_tests [list \ run_ld_link_tests [list \ [list \ "$testname (initial static object)" \ - "-r" "" \ - "" \ + "-r -melf_i386" "" \ + "--32" \ { ../ld-elf/export-class-ref.s } \ {} \ "i386-export-class-ref-r.o" \ @@ -74,8 +76,9 @@ run_ld_link_tests [list \ run_ld_link_tests [list \ [list \ "$testname (final shared object)" \ - "-shared $NO_DT_RELR_LDFLAGS -Tdata=0x12340000 tmpdir/i386-export-class-ref-r.o tmpdir/i386-export-class-lib.so" "" \ + "-shared -melf_i386 $NO_DT_RELR_LDFLAGS -Tdata=0x12340000 tmpdir/i386-export-class-ref-r.o tmpdir/i386-export-class-lib.so" \ "" \ + "--32" \ { ../ld-elf/export-class-dep.s ../ld-elf/export-class-def.s } \ { \ { readelf -r i386-export-class.rd } \ diff --git a/ld/testsuite/ld-i386/gnu-tls-1.s b/ld/testsuite/ld-i386/gnu-tls-1.s new file mode 100644 index 0000000..02ae207 --- /dev/null +++ b/ld/testsuite/ld-i386/gnu-tls-1.s @@ -0,0 +1,9 @@ + .text + .p2align 4 + .globl func + .type func, @function +func: + leal foo@tlsgd(,%ebx,1), %eax + call ___tls_get_addr@PLT + ret + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-i386/gnu-tls-1a.rd b/ld/testsuite/ld-i386/gnu-tls-1a.rd new file mode 100644 index 0000000..65d889d --- /dev/null +++ b/ld/testsuite/ld-i386/gnu-tls-1a.rd @@ -0,0 +1,7 @@ +#... +Version needs section '.gnu.version_r' contains [0-9]+ entries: + Addr: 0x[0-9a-f]+ +Offset: 0x[0-9a-f]+ +Link: +[0-9]+ +\(.dynstr\) + +0+: Version: 1 +File: libc\.so\.6(|\.1) +Cnt: +[0-9]+ +#... + 0x[a-f0-9]+: Name: GLIBC_ABI_GNU_TLS Flags: none Version: [0-9]+ +#pass diff --git a/ld/testsuite/ld-i386/gnu-tls-1b.rd b/ld/testsuite/ld-i386/gnu-tls-1b.rd new file mode 100644 index 0000000..02006e4 --- /dev/null +++ b/ld/testsuite/ld-i386/gnu-tls-1b.rd @@ -0,0 +1,4 @@ +#failif +#... + 0x[a-f0-9]+: Name: GLIBC_ABI_GNU_TLS Flags: none Version: [0-9]+ +#... diff --git a/ld/testsuite/ld-i386/gnu2-tls-1.s b/ld/testsuite/ld-i386/gnu2-tls-1.s new file mode 100644 index 0000000..e3841c7 --- /dev/null +++ b/ld/testsuite/ld-i386/gnu2-tls-1.s @@ -0,0 +1,11 @@ + .section .text.startup,"ax",@progbits + .p2align 4 + .globl main + .type main, @function +main: + leal ld@TLSDESC(%ebx), %eax + call *ld@TLSCALL(%eax) + addl %gs:0, %eax + ret + .size main, .-main + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-i386/gnu2-tls-1a.rd b/ld/testsuite/ld-i386/gnu2-tls-1a.rd new file mode 100644 index 0000000..3eb926a --- /dev/null +++ b/ld/testsuite/ld-i386/gnu2-tls-1a.rd @@ -0,0 +1,7 @@ +#... +Version needs section '.gnu.version_r' contains 1 entry: + Addr: 0x[0-9a-f]+ +Offset: 0x[0-9a-f]+ +Link: +[0-9]+ +\(.dynstr\) + +0+: Version: 1 +File: libc\.so\.6(|\.1) +Cnt: +[0-9]+ +#... + 0x[a-f0-9]+: Name: GLIBC_ABI_GNU2_TLS Flags: none Version: [0-9]+ +#pass diff --git a/ld/testsuite/ld-i386/gnu2-tls-1b.rd b/ld/testsuite/ld-i386/gnu2-tls-1b.rd new file mode 100644 index 0000000..33ef8ac --- /dev/null +++ b/ld/testsuite/ld-i386/gnu2-tls-1b.rd @@ -0,0 +1,4 @@ +#failif +#... + 0x[a-f0-9]+: Name: GLIBC_ABI_GNU2_TLS Flags: none Version: [0-9]+ +#... diff --git a/ld/testsuite/ld-i386/got-1.s b/ld/testsuite/ld-i386/got-1.s new file mode 100644 index 0000000..30e45f9 --- /dev/null +++ b/ld/testsuite/ld-i386/got-1.s @@ -0,0 +1,7 @@ + .text + .globl func + .type func, @function +func: + call *foo@GOT(%ebx) + jmp bar@PLT + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-i386/i386-export-class.rd b/ld/testsuite/ld-i386/i386-export-class.rd index d7beade..7ec0825 100644 --- a/ld/testsuite/ld-i386/i386-export-class.rd +++ b/ld/testsuite/ld-i386/i386-export-class.rd @@ -1,11 +1,11 @@ Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries: * Offset * Info * Type * Sym\. *Value * Sym\. * Name +12340000 00000008 R_386_RELATIVE * 12340010 00000008 R_386_RELATIVE * 12340020 00000008 R_386_RELATIVE * +12340040 00000008 R_386_RELATIVE * +12340050 00000008 R_386_RELATIVE * 12340060 00000008 R_386_RELATIVE * 12340070 00000008 R_386_RELATIVE * 12340080 00000008 R_386_RELATIVE * 12340090 00000008 R_386_RELATIVE * -12340000 [0-9a-f]+01 R_386_32 123400a0 protected_baz -12340040 [0-9a-f]+01 R_386_32 123400a0 protected_foo -12340050 [0-9a-f]+01 R_386_32 123400a0 protected_bar diff --git a/ld/testsuite/ld-i386/i386-export-class.xd b/ld/testsuite/ld-i386/i386-export-class.xd index a797f20..31f011f 100644 --- a/ld/testsuite/ld-i386/i386-export-class.xd +++ b/ld/testsuite/ld-i386/i386-export-class.xd @@ -1,10 +1,10 @@ Hex dump of section '\.data': - 0x12340000 00000000 00000000 00000000 00000000 .* + 0x12340000 a0003412 00000000 00000000 00000000 .* 0x12340010 a0003412 00000000 00000000 00000000 .* 0x12340020 a0003412 00000000 00000000 00000000 .* 0x12340030 00000000 00000000 00000000 00000000 .* - 0x12340040 00000000 00000000 00000000 00000000 .* - 0x12340050 00000000 00000000 00000000 00000000 .* + 0x12340040 a0003412 00000000 00000000 00000000 .* + 0x12340050 a0003412 00000000 00000000 00000000 .* 0x12340060 a0003412 00000000 00000000 00000000 .* 0x12340070 a0003412 00000000 00000000 00000000 .* 0x12340080 a0003412 00000000 00000000 00000000 .* diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index 6366457..bba0eed 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -515,11 +515,17 @@ run_dump_test "pr27491-3" run_dump_test "pr27491-4" run_dump_test "dt-relr-1a" run_dump_test "dt-relr-1b" +run_dump_test "dt-relr-1c" +run_dump_test "dt-relr-1d" +run_dump_test "dt-relr-2" run_dump_test "pr28870" run_dump_test "pr28894" run_dump_test "pr30787" run_dump_test "pr31047" run_dump_test "pr32191" +run_dump_test "pr33260" +run_dump_test "pr33260-2" +run_dump_test "pr28387" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] @@ -710,7 +716,7 @@ if { [isnative] [list \ "Build pr17689.so" \ "-shared" \ - "-fPIC -Wa,-mrelax-relocations=yes" \ + "-fPIC $DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mrelax-relocations=yes" \ { pr17689a.c } \ {} \ "pr17689.so" \ @@ -734,7 +740,7 @@ if { [isnative] [list \ "Build pr17689.a" \ "" \ - "-Wa,-mrelax-relocations=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mrelax-relocations=yes" \ { pr17689b.S } \ {} \ "pr17689.a" \ @@ -742,7 +748,7 @@ if { [isnative] [list \ "Build pr17689 with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "-Wa,-mrelax-relocations=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17689.rd}} \ "pr17689" \ @@ -750,7 +756,7 @@ if { [isnative] [list \ "Build pr17689 with PIE, -z now and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \ - "-Wa,-mrelax-relocations=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17689now.rd}} \ "pr17689now" \ @@ -758,7 +764,7 @@ if { [isnative] [list \ "Build pr17689ver with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \ - "-Wa,-mrelax-relocations=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17689ver.rd}} \ "pr17689ver" \ @@ -766,7 +772,7 @@ if { [isnative] [list \ "Build pr17827 with PIE and GOTOFF" \ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "-Wa,-mrelax-relocations=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mrelax-relocations=yes" \ { dummy.c } \ {{readelf {-Wr} pr17827.rd}} \ "pr17827" \ @@ -872,7 +878,7 @@ if { [isnative] [list \ "Build property 1 (.o)" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-no-copy.S} \ {{readelf {-n} property-1a.r}} \ "property-1.o" \ @@ -896,7 +902,7 @@ if { [isnative] [list \ "Build property 2 (.o)" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-stack.S} \ {{readelf {-n} property-2a.r}} \ "property-2.o" \ @@ -920,7 +926,7 @@ if { [isnative] [list \ "Build property 3 (.o)" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-x86-1.S property-stack.S} \ {{readelf {-n} property-3a.r}} \ "property-3.o" \ @@ -944,7 +950,7 @@ if { [isnative] [list \ "Build property 4 (.o)" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-x86-2.S property-x86-1.S property-stack.S} \ {{readelf {-n} property-4a.r}} \ "property-4.o" \ @@ -976,7 +982,7 @@ if { [isnative] [list \ "Build property 5 (.o)" \ "-r -nostdlib -Wl,-z,stack-size=0x900000" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-x86-2.S property-x86-1.S property-stack.S} \ {{readelf {-n} property-5a.r}} \ "property-5.o" \ @@ -1000,7 +1006,7 @@ if { [isnative] [list \ "Build property-6.o" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {property-6b.c property-stack.S} \ {{readelf {-n} property-2a.r}} \ "property-6.o" \ @@ -1067,6 +1073,7 @@ if { [isnative] { dummy.c } \ "pr17689" \ "pr17689.out" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS" \ ] \ [list \ "Run pr17689 with PIE, -z now and GOTOFF" \ @@ -1075,6 +1082,7 @@ if { [isnative] { dummy.c } \ "pr17689now" \ "pr17689.out" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS" \ ] \ [list \ "Run pr17689ver with PIE and GOTOFF" \ @@ -1083,6 +1091,7 @@ if { [isnative] { dummy.c } \ "pr17689ver" \ "pr17689.out" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS" \ ] \ [list \ "Run pr18900" \ @@ -1318,7 +1327,7 @@ if { [isnative] [list \ "Build pr28875" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr28875.so" \ - "$NOPIE_CFLAGS" \ + "$NOPIE_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS" \ { pr28875b.c } \ {{error_output "pr28875.err"}} \ "pr28875" \ @@ -1326,7 +1335,7 @@ if { [isnative] [list \ "Build pr21997-1" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,notext tmpdir/pr21997-1.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$NOPIE_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { pr21997-1b.c } \ {{error_output "pr21997-1.err"}} \ "pr21997-1" \ @@ -1514,6 +1523,45 @@ run_ld_link_tests [list \ ] \ ] +# The musl C library does not support --gnu-tls-tag nor --gnu2-tls-tag. +if { ![istarget *-*-musl] + && [check_compiler_available] } { + run_cc_link_tests [list \ + [list \ + "Build gnu-tls-1a.so" \ + "-shared -Wl,--no-as-needed,--gnu-tls-tag" \ + "-fPIC" \ + { gnu-tls-1.s } \ + {{readelf {-W --version-info} gnu-tls-1a.rd}} \ + "gnu-tls-1a.so" \ + ] \ + [list \ + "Build gnu-tls-1b.so" \ + "-shared -Wl,--no-as-needed,--no-gnu-tls-tag" \ + "-fPIC" \ + { gnu-tls-1.s } \ + {{readelf {-W --version-info} gnu-tls-1b.rd}} \ + "gnu-tls-1b.so" \ + ] \ + [list \ + "Build gnu2-tls-1a.so" \ + "-shared -Wl,--no-as-needed,--gnu2-tls-tag" \ + "-fPIC" \ + { gnu2-tls-1.s } \ + {{readelf {-W --version-info} gnu2-tls-1a.rd}} \ + "gnu2-tls-1a.so" \ + ] \ + [list \ + "Build gnu2-tls-1b.so" \ + "-shared -Wl,--no-as-needed,--no-gnu2-tls-tag" \ + "-fPIC" \ + { gnu2-tls-1.s } \ + {{readelf {-W --version-info} gnu2-tls-1b.rd}} \ + "gnu2-tls-1b.so" \ + ] \ + ] +} + # Linux only tests run_dump_test "pltgot-1" run_dump_test "pltgot-2" diff --git a/ld/testsuite/ld-i386/libgot-1a.rd b/ld/testsuite/ld-i386/libgot-1a.rd new file mode 100644 index 0000000..b8609b8 --- /dev/null +++ b/ld/testsuite/ld-i386/libgot-1a.rd @@ -0,0 +1,9 @@ + +Relocation section '.rel.dyn' at offset 0x128 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name +0+2001fc 00000206 R_386_GLOB_DAT 00000000 foo + +Relocation section '.rel.plt' at offset 0x130 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name +0+20020c 00000307 R_386_JUMP_SLOT 00000000 bar +#pass diff --git a/ld/testsuite/ld-i386/libgot-1b.rd b/ld/testsuite/ld-i386/libgot-1b.rd new file mode 100644 index 0000000..faebdb4 --- /dev/null +++ b/ld/testsuite/ld-i386/libgot-1b.rd @@ -0,0 +1,119 @@ +ELF Header: + Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 + Class: ELF32 + Data: 2's complement, little endian + Version: 1 \(current\) + OS/ABI: UNIX - System V + ABI Version: 0 + Type: DYN \(Shared object file\) + Machine: Intel 80386 + Version: 0x1 + Entry point address: 0x0 + Start of program headers: 52 \(bytes into file\) + Start of section headers: 768 \(bytes into file\) + Flags: 0x0 + Size of this header: 52 \(bytes\) + Size of program headers: 32 \(bytes\) + Number of program headers: 4 + Size of section headers: 40 \(bytes\) + Number of section headers: 14 + Section header string table index: 13 + +Section Headers: + \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al + \[ 0\] NULL 00000000 000000 000000 00 0 0 0 + \[ 1\] .hash HASH 000000b4 0000b4 000024 04 A 2 0 4 + \[ 2\] .dynsym DYNSYM 000000d8 0000d8 000040 10 A 3 1 4 + \[ 3\] .dynstr STRTAB 00000118 000118 00000e 00 A 0 0 1 + \[ 4\] .rel.dyn REL 00000128 000128 000008 08 A 2 0 4 + \[ 5\] .rel.plt REL 00000130 000130 000008 08 AI 2 10 4 + \[ 6\] .plt PROGBITS 00000140 000140 000020 04 AX 0 0 16 + \[ 7\] .text PROGBITS 00000160 000160 00000b 00 AX 0 0 1 + \[ 8\] .dynamic DYNAMIC 0020016c 00016c 000090 08 WA 3 0 4 + \[ 9\] .got PROGBITS 002001fc 0001fc 000004 04 WA 0 0 4 + \[10\] .got.plt PROGBITS 00200200 000200 000010 04 WA 0 0 4 + \[11\] .symtab SYMTAB 00000000 000210 000060 10 12 3 4 + \[12\] .strtab STRTAB 00000000 000270 00002d 00 0 0 1 + \[13\] .shstrtab STRTAB 00000000 00029d 000060 00 0 0 1 +Key to Flags: + W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), I \(info\), + L \(link order\), O \(extra OS processing required\), G \(group\), T \(TLS\), + C \(compressed\), x \(unknown\), o \(OS specific\), E \(exclude\), + D \(mbind\), p \(processor specific\) + +There are no section groups in this file. + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD 0x000000 0x00000000 0x00000000 0x0016b 0x0016b R E 0x200000 + LOAD 0x00016c 0x0020016c 0x0020016c 0x000a4 0x000a4 RW 0x200000 + DYNAMIC 0x00016c 0x0020016c 0x0020016c 0x00090 0x00090 RW 0x4 + GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 + + Section to Segment mapping: + Segment Sections... + 00 .hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text + 01 .dynamic .got .got.plt + 02 .dynamic + 03 + +Dynamic section at offset 0x16c contains 13 entries: + Tag Type Name/Value + 0x00000004 \(HASH\) 0xb4 + 0x00000005 \(STRTAB\) 0x118 + 0x00000006 \(SYMTAB\) 0xd8 + 0x0000000a \(STRSZ\) 14 \(bytes\) + 0x0000000b \(SYMENT\) 16 \(bytes\) + 0x00000003 \(PLTGOT\) 0x200200 + 0x00000002 \(PLTRELSZ\) 8 \(bytes\) + 0x00000014 \(PLTREL\) REL + 0x00000017 \(JMPREL\) 0x130 + 0x00000011 \(REL\) 0x128 + 0x00000012 \(RELSZ\) 8 \(bytes\) + 0x00000013 \(RELENT\) 8 \(bytes\) + 0x00000000 \(NULL\) 0x0 + +Relocation section '.rel.dyn' at offset 0x128 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name +0+2001fc 00000206 R_386_GLOB_DAT 00000000 foo + +Relocation section '.rel.plt' at offset 0x130 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name +0+20020c 00000307 R_386_JUMP_SLOT 00000000 bar +No processor specific unwind information to decode + +Symbol table '.dynsym' contains 4 entries: + Num: Value Size Type Bind Vis Ndx Name + +[a-f0-9]+: 00000000 0 NOTYPE LOCAL DEFAULT UND + +[a-f0-9]+: 00000160 0 FUNC GLOBAL DEFAULT 7 func + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND foo + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND bar + +Symbol table '.symtab' contains 6 entries: + Num: Value Size Type Bind Vis Ndx Name + +[a-f0-9]+: 00000000 0 NOTYPE LOCAL DEFAULT UND + +[a-f0-9]+: 0020016c 0 OBJECT LOCAL DEFAULT 8 _DYNAMIC + +[a-f0-9]+: 00200200 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ + +[a-f0-9]+: 00000160 0 FUNC GLOBAL DEFAULT 7 func + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND foo + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND bar + +Histogram for bucket list length \(total of 3 buckets\): + Length Number % of total Coverage + 0 1 \( 33.3%\) + 1 1 \( 33.3%\) 33.3% + 2 1 \( 33.3%\) 100.0% + +No version information found in this file. + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 002001fc R_386_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200200 20016c + +[0-9]+: 00200204 0 + +[0-9]+: 00200208 0 + +[0-9]+: 0020020c R_386_JUMP_SLOT bar \+ 156 +#pass diff --git a/ld/testsuite/ld-i386/libgot-1c.rd b/ld/testsuite/ld-i386/libgot-1c.rd new file mode 100644 index 0000000..374b03f --- /dev/null +++ b/ld/testsuite/ld-i386/libgot-1c.rd @@ -0,0 +1,12 @@ + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 002001fc R_386_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200200 20016c + +[0-9]+: 00200204 0 + +[0-9]+: 00200208 0 + +[0-9]+: 0020020c R_386_JUMP_SLOT bar \+ 156 +#pass diff --git a/ld/testsuite/ld-i386/libgot-1d.rd b/ld/testsuite/ld-i386/libgot-1d.rd new file mode 100644 index 0000000..632b47b --- /dev/null +++ b/ld/testsuite/ld-i386/libgot-1d.rd @@ -0,0 +1,12 @@ + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 002001fc R_386_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200200 20016c + +[0-9]+: 00200204 0 + +[0-9]+: 00200208 0 + +[0-9]+: 0020020c R_386_JUMP_SLOT bar \+ 156 +#pass diff --git a/ld/testsuite/ld-i386/libno-plt-1b.dd b/ld/testsuite/ld-i386/libno-plt-1b.dd index eec9d4a..d2f3e93 100644 --- a/ld/testsuite/ld-i386/libno-plt-1b.dd +++ b/ld/testsuite/ld-i386/libno-plt-1b.dd @@ -9,11 +9,11 @@ Disassembly of section .text: [0-9a-f]+ <get_func>: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call +[a-f0-9]+ <__x86.get_pc_thunk.ax> +[a-f0-9]+: 05 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%eax - +[a-f0-9]+: 8b 80 ([0-9a-f]{2} ){4}[ ]+mov +-0x[a-f0-9]+\(%eax\),%eax + +[a-f0-9]+: 8b 80 ([0-9a-f]{2} ){4}[ ]+mov +-?0x[a-f0-9]+\(%eax\),%eax +[a-f0-9]+: c3 ret #... [0-9a-f]+ <call_func>: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call +[a-f0-9]+ <__x86.get_pc_thunk.ax> +[a-f0-9]+: 05 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%eax - +[a-f0-9]+: ff a0 ([0-9a-f]{2} ){4}[ ]+jmp +\*-0x[0-9a-f]+\(%eax\) + +[a-f0-9]+: ff a0 ([0-9a-f]{2} ){4}[ ]+jmp +\*-?0x[0-9a-f]+\(%eax\) #pass diff --git a/ld/testsuite/ld-i386/no-plt-1a.dd b/ld/testsuite/ld-i386/no-plt-1a.dd index 8c76d9b..9d32b85 100644 --- a/ld/testsuite/ld-i386/no-plt-1a.dd +++ b/ld/testsuite/ld-i386/no-plt-1a.dd @@ -23,14 +23,14 @@ Disassembly of section .text: +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr16 call [0-9a-f]+ <call_func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 15 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-0x[a-f0-9]+\(%ebx\),%eax + +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-?0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 83 ec 0c sub \$0xc,%esp +[a-f0-9]+: 50 push %eax - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 83 c4 18 add \$0x18,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) #... [0-9a-f]+ <get_func>: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call +[a-f0-9]+ <__x86.get_pc_thunk.ax> diff --git a/ld/testsuite/ld-i386/no-plt-1b.dd b/ld/testsuite/ld-i386/no-plt-1b.dd index 431011c..1318353 100644 --- a/ld/testsuite/ld-i386/no-plt-1b.dd +++ b/ld/testsuite/ld-i386/no-plt-1b.dd @@ -11,24 +11,24 @@ Disassembly of section .text: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call [a-f0-9]+ <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) - +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-0x[a-f0-9]+\(%ebx\),%eax + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-?0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 75 39 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-0x[0-9a-f]+\(%ebx\),%edx + +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-?0x[0-9a-f]+\(%ebx\),%edx +[a-f0-9]+: 39 02 cmp %eax,\(%edx\) +[a-f0-9]+: 75 2f jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 22 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 15 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 83 ec 0c sub \$0xc,%esp +[a-f0-9]+: 50 push %eax - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 83 c4 18 add \$0x18,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) #pass diff --git a/ld/testsuite/ld-i386/no-plt-1c.dd b/ld/testsuite/ld-i386/no-plt-1c.dd index ae31742..5422040 100644 --- a/ld/testsuite/ld-i386/no-plt-1c.dd +++ b/ld/testsuite/ld-i386/no-plt-1c.dd @@ -11,24 +11,24 @@ Disassembly of section .text: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call [a-f0-9]+ <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 81 f8 ([0-9a-f]{2} ){4}[ ]+cmp +\$0x[0-9a-f]+,%eax +[a-f0-9]+: 75 39 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-0x[0-9a-f]+\(%ebx\),%edx + +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-?0x[0-9a-f]+\(%ebx\),%edx +[a-f0-9]+: 39 02 cmp %eax,\(%edx\) +[a-f0-9]+: 75 2f jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr16 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 22 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 15 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 83 ec 0c sub \$0xc,%esp +[a-f0-9]+: 50 push %eax - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 83 c4 18 add \$0x18,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) #pass diff --git a/ld/testsuite/ld-i386/no-plt-1e.dd b/ld/testsuite/ld-i386/no-plt-1e.dd index 56b1a76..af7d9d9 100644 --- a/ld/testsuite/ld-i386/no-plt-1e.dd +++ b/ld/testsuite/ld-i386/no-plt-1e.dd @@ -12,7 +12,7 @@ Disassembly of section .text: +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr16 call [0-9a-f]+ <get_func> - +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-0x[a-f0-9]+\(%ebx\),%eax + +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-?0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 75 39 jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 8d 93 ([0-9a-f]{2} ){4}[ ]+lea +0x[a-f0-9]+\(%ebx\),%edx +[a-f0-9]+: 39 02 cmp %eax,\(%edx\) @@ -26,11 +26,11 @@ Disassembly of section .text: +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 83 ec 0c sub \$0xc,%esp +[a-f0-9]+: 50 push %eax - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 83 c4 18 add \$0x18,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) #... [0-9a-f]+ <get_func>: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call +[a-f0-9]+ <__x86.get_pc_thunk.ax> diff --git a/ld/testsuite/ld-i386/no-plt-1f.dd b/ld/testsuite/ld-i386/no-plt-1f.dd index 431011c..1318353 100644 --- a/ld/testsuite/ld-i386/no-plt-1f.dd +++ b/ld/testsuite/ld-i386/no-plt-1f.dd @@ -11,24 +11,24 @@ Disassembly of section .text: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call [a-f0-9]+ <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) - +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-0x[a-f0-9]+\(%ebx\),%eax + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-?0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 75 39 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-0x[0-9a-f]+\(%ebx\),%edx + +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-?0x[0-9a-f]+\(%ebx\),%edx +[a-f0-9]+: 39 02 cmp %eax,\(%edx\) +[a-f0-9]+: 75 2f jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 22 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 15 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 83 ec 0c sub \$0xc,%esp +[a-f0-9]+: 50 push %eax - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 83 c4 18 add \$0x18,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) #pass diff --git a/ld/testsuite/ld-i386/no-plt-1g.dd b/ld/testsuite/ld-i386/no-plt-1g.dd index 4f18453..cca995b 100644 --- a/ld/testsuite/ld-i386/no-plt-1g.dd +++ b/ld/testsuite/ld-i386/no-plt-1g.dd @@ -11,24 +11,24 @@ Disassembly of section .text: +[a-f0-9]+: e8 ([0-9a-f]{2} ){4}[ ]+call [a-f0-9]+ <__x86.get_pc_thunk.bx> +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add +\$0x[a-f0-9]+,%ebx +[a-f0-9]+: 83 ec 08 sub \$0x8,%esp - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) - +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-0x[a-f0-9]+\(%ebx\),%eax + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: 3b 83 ([0-9a-f]{2} ){4}[ ]+cmp +-?0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 75 39 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-0x[0-9a-f]+\(%ebx\),%edx + +[a-f0-9]+: 8b 93 ([0-9a-f]{2} ){4}[ ]+mov +-?0x[0-9a-f]+\(%ebx\),%edx +[a-f0-9]+: 39 02 cmp %eax,\(%edx\) +[a-f0-9]+: 75 2f jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr16 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 22 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax +[a-f0-9]+: 75 15 jne +[0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 8d 83 ([0-9a-f]{2} ){4}[ ]+lea +-0x[a-f0-9]+\(%ebx\),%eax +[a-f0-9]+: 83 ec 0c sub \$0xc,%esp +[a-f0-9]+: 50 push %eax - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) +[a-f0-9]+: 83 c4 18 add \$0x18,%esp +[a-f0-9]+: 5b pop %ebx +[a-f0-9]+: c3 ret - +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-0x[0-9a-f]+\(%ebx\) + +[a-f0-9]+: ff 93 ([0-9a-f]{2} ){4}[ ]+call +\*-?0x[0-9a-f]+\(%ebx\) #pass diff --git a/ld/testsuite/ld-i386/no-plt.exp b/ld/testsuite/ld-i386/no-plt.exp index e0b00ba..42f6def 100644 --- a/ld/testsuite/ld-i386/no-plt.exp +++ b/ld/testsuite/ld-i386/no-plt.exp @@ -72,7 +72,7 @@ run_cc_link_tests [list \ "libno-plt-1b.so" \ ] \ [list \ - "No PLT (dynamic 1a)" \ + "Build no PLT (dynamic 1a)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o -Wl,-z,lazy" \ "-Wa,-mx86-used-note=yes" \ @@ -81,7 +81,7 @@ run_cc_link_tests [list \ "no-plt-1a" \ ] \ [list \ - "No PLT (dynamic 1b)" \ + "Build no PLT (dynamic 1b)" \ "-Wl,-z,lazy tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -90,7 +90,7 @@ run_cc_link_tests [list \ "no-plt-1b" \ ] \ [list \ - "No PLT (dynamic 1c)" \ + "Build no PLT (dynamic 1c)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so -Wl,-z,lazy" \ "-Wa,-mx86-used-note=yes" \ @@ -99,7 +99,7 @@ run_cc_link_tests [list \ "no-plt-1c" \ ] \ [list \ - "No PLT (static 1d)" \ + "Build no PLT (static 1d)" \ "-static tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \ "-Wa,-mx86-used-note=yes" \ @@ -108,7 +108,7 @@ run_cc_link_tests [list \ "no-plt-1d" \ ] \ [list \ - "No PLT (PIE 1e)" \ + "Build no PLT (PIE 1e)" \ "-pie -Wl,-z,lazy tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \ "-Wa,-mx86-used-note=yes" \ @@ -117,7 +117,7 @@ run_cc_link_tests [list \ "no-plt-1e" \ ] \ [list \ - "No PLT (PIE 1f)" \ + "Build no PLT (PIE 1f)" \ "-pie -Wl,-z,lazy tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -126,7 +126,7 @@ run_cc_link_tests [list \ "no-plt-1f" \ ] \ [list \ - "No PLT (PIE 1g)" \ + "Build no PLT (PIE 1g)" \ "-pie -Wl,-z,lazy tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -135,7 +135,7 @@ run_cc_link_tests [list \ "no-plt-1g" \ ] \ [list \ - "No PLT (dynamic 1h)" \ + "Build no PLT (dynamic 1h)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \ "-Wa,-mx86-used-note=yes" \ @@ -144,7 +144,7 @@ run_cc_link_tests [list \ "no-plt-1h" \ ] \ [list \ - "No PLT (dynamic 1i)" \ + "Build no PLT (dynamic 1i)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-extern1b.o tmpdir/libno-plt-1a.so" \ "-Wa,-mx86-used-note=yes" \ @@ -153,7 +153,7 @@ run_cc_link_tests [list \ "no-plt-1i" \ ] \ [list \ - "No PLT (static 1j)" \ + "Build no PLT (static 1j)" \ "-static tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \ "-Wa,-mx86-used-note=yes" \ @@ -165,7 +165,7 @@ run_cc_link_tests [list \ run_ld_link_exec_tests [list \ [list \ - "No PLT (dynamic 1a)" \ + "Run no PLT (dynamic 1a)" \ "tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \ "-Wa,-mx86-used-note=yes" \ @@ -174,7 +174,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (dynamic 1b)" \ + "Run no PLT (dynamic 1b)" \ "tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -183,7 +183,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (dynamic 1c)" \ + "Run no PLT (dynamic 1c)" \ "tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -192,7 +192,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (static 1d)" \ + "Run no PLT (static 1d)" \ "-static tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \ "-Wa,-mx86-used-note=yes" \ @@ -201,7 +201,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (PIE 1e)" \ + "Run no PLT (PIE 1e)" \ "-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \ "-Wa,-mx86-used-note=yes" \ @@ -210,7 +210,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (PIE 1f)" \ + "Run no PLT (PIE 1f)" \ "-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -219,7 +219,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (PIE 1g)" \ + "Run no PLT (PIE 1g)" \ "-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -228,7 +228,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (dynamic 1h)" \ + "Run no PLT (dynamic 1h)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \ "-Wa,-mx86-used-note=yes" \ @@ -237,7 +237,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (dynamic 1i)" \ + "Run no PLT (dynamic 1i)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-extern1b.o tmpdir/libno-plt-1a.so" \ "-Wa,-mx86-used-note=yes" \ @@ -246,7 +246,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (static 1j)" \ + "Run no PLT (static 1j)" \ "-static tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \ "-Wa,-mx86-used-note=yes" \ diff --git a/ld/testsuite/ld-i386/pr17057.d b/ld/testsuite/ld-i386/pr17057.d index 29cc676..af4e6c9 100644 --- a/ld/testsuite/ld-i386/pr17057.d +++ b/ld/testsuite/ld-i386/pr17057.d @@ -3,7 +3,10 @@ #ld: -shared -melf_i386 #readelf: -r --wide -Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 2 entries: +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry: Offset Info Type Sym. Value Symbol's Name -[0-9a-f ]+R_386_JUMP_SLOT +0+ +foo [0-9a-f ]+R_386_TLS_DESC +0+ +my_tls + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry: + Offset Info Type Sym. Value Symbol's Name +[0-9a-f ]+R_386_JUMP_SLOT +0+ +foo diff --git a/ld/testsuite/ld-i386/pr28387.d b/ld/testsuite/ld-i386/pr28387.d new file mode 100644 index 0000000..fd1e980 --- /dev/null +++ b/ld/testsuite/ld-i386/pr28387.d @@ -0,0 +1,35 @@ +#as: --32 +#ld: -shared -melf_i386 -z nocombreloc -z noseparate-code --no-ld-generated-unwind-info --hash-style=sysv +#readelf: -d -r -S --wide + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al +#... + +\[[ 0-9]+\] .rel.data +REL +0+128 0+128 0+8 08 +AI +2 +11 +4 + +\[[ 0-9]+\] .rel.tls +REL +0+130 0+130 0+8 08 +AI +2 +10 +4 + +\[[ 0-9]+\] .rel.plt +REL +0+138 0+138 0+8 08 +AI +2 +10 +4 +#... +Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries: + +Tag +Type +Name/Value +#... + 0x[0-9a-f]+ +\(PLTRELSZ\) +8 \(bytes\) + 0x[0-9a-f]+ +\(PLTREL\) +REL + 0x[0-9a-f]+ +\(JMPREL\) +0x138 +#... + 0x[0-9a-f]+ +\(REL\) +0x128 + 0x[0-9a-f]+ +\(RELSZ\) +16 \(bytes\) + 0x[0-9a-f]+ +\(RELENT\) +8 \(bytes\) +#... +Relocation section '.rel.data' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +foo + +Relocation section '.rel.tls' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_TLS_DESC +0+ +foo + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +bar diff --git a/ld/testsuite/ld-i386/pr28387.s b/ld/testsuite/ld-i386/pr28387.s new file mode 100644 index 0000000..beb3189 --- /dev/null +++ b/ld/testsuite/ld-i386/pr28387.s @@ -0,0 +1,12 @@ + .text + .p2align 4 + .globl main + .type main, @function +main: + leal foo@TLSDESC(%ebx), %eax + call *foo@TLSCALL(%eax) + call bar@PLT + ret + .data + .dc.a foo + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-i386/pr33260-2.d b/ld/testsuite/ld-i386/pr33260-2.d new file mode 100644 index 0000000..d84442b --- /dev/null +++ b/ld/testsuite/ld-i386/pr33260-2.d @@ -0,0 +1,6 @@ +#source: pr33260-2.s +#as: -mrelax-relocations=yes --32 +#ld: -melf_i386 -shared +#readelf: -r --wide + +There are no relocations in this file. diff --git a/ld/testsuite/ld-i386/pr33260-2.s b/ld/testsuite/ld-i386/pr33260-2.s new file mode 100644 index 0000000..0fcd388 --- /dev/null +++ b/ld/testsuite/ld-i386/pr33260-2.s @@ -0,0 +1,30 @@ + .text + .p2align 4 + .globl my_func + .type my_func, @function +my_func: + .cfi_startproc + call __x86.get_pc_thunk.ax + addl $_GLOBAL_OFFSET_TABLE_, %eax + movl my_data@GOT(%eax), %eax + ret + .cfi_endproc + .size my_func, .-my_func + .protected my_data + .globl my_data + .bss + .align 4 + .type my_data, @object + .size my_data, 4 +my_data: + .zero 4 + .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat + .globl __x86.get_pc_thunk.ax + .hidden __x86.get_pc_thunk.ax + .type __x86.get_pc_thunk.ax, @function +__x86.get_pc_thunk.ax: + .cfi_startproc + movl (%esp), %eax + ret + .cfi_endproc + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-i386/pr33260.d b/ld/testsuite/ld-i386/pr33260.d new file mode 100644 index 0000000..fc05e4c --- /dev/null +++ b/ld/testsuite/ld-i386/pr33260.d @@ -0,0 +1,9 @@ +#source: pr33260.s +#as: -mrelax-relocations=yes --32 +#ld: -melf_i386 -shared +#readelf: -r --wide + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 2 entries: + +Offset +Info +Type +Sym.* Value +Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE + +[0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE + diff --git a/ld/testsuite/ld-i386/pr33260.s b/ld/testsuite/ld-i386/pr33260.s new file mode 100644 index 0000000..9d779f2 --- /dev/null +++ b/ld/testsuite/ld-i386/pr33260.s @@ -0,0 +1,46 @@ + .text + .p2align 4 + .globl my_func + .protected my_func + .type my_func, @function +my_func: + .cfi_startproc + ret + .cfi_endproc + .size my_func, .-my_func + .p2align 4 + .globl f + .type f, @function +f: + .cfi_startproc + call __x86.get_pc_thunk.ax + addl $_GLOBAL_OFFSET_TABLE_, %eax + leal vtable@GOTOFF(%eax), %eax + ret + .cfi_endproc + .size f, .-f + .section .data.rel,"aw" + .align 4 + .type vtable, @object + .size vtable, 8 +vtable: + .long my_func + .long my_data + .protected my_data + .globl my_data + .bss + .align 4 + .type my_data, @object + .size my_data, 4 +my_data: + .zero 4 + .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat + .globl __x86.get_pc_thunk.ax + .hidden __x86.get_pc_thunk.ax + .type __x86.get_pc_thunk.ax, @function +__x86.get_pc_thunk.ax: + .cfi_startproc + movl (%esp), %eax + ret + .cfi_endproc + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-i386/tlsdesc.rd b/ld/testsuite/ld-i386/tlsdesc.rd index ec418d1..ebd80b1 100644 --- a/ld/testsuite/ld-i386/tlsdesc.rd +++ b/ld/testsuite/ld-i386/tlsdesc.rd @@ -14,7 +14,6 @@ Section Headers: +\[[ 0-9]+\] \.dynsym +.* +\[[ 0-9]+\] \.dynstr +.* +\[[ 0-9]+\] \.rel.dyn +.* - +\[[ 0-9]+\] \.rel.plt +.* +\[[ 0-9]+\] \.text +.* +\[[ 0-9]+\] \.tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT +0 +0 +1 +\[[ 0-9]+\] \.tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT +0 +0 +1 @@ -40,12 +39,12 @@ Program Headers: Section to Segment mapping: +Segment Sections... - +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .text * + +00 +.hash .dynsym .dynstr .rel.dyn .text * +01 +.tdata .dynamic .got .got.plt * +02 +.dynamic * +03 +.tdata .tbss * -Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 25 entries: Offset +Info +Type +Sym.Value +Sym. Name [0-9a-f ]+R_386_TLS_TPOFF32 [0-9a-f ]+R_386_TLS_TPOFF * @@ -62,71 +61,68 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: [0-9a-f ]+R_386_TLS_TPOFF * [0-9a-f ]+R_386_TLS_TPOFF * [0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_DESC * +[0-9a-f ]+R_386_TLS_DESC * +[0-9a-f ]+R_386_TLS_DESC * +[0-9a-f ]+R_386_TLS_DESC * [0-9a-f ]+R_386_TLS_TPOFF +0+8 +sg3 [0-9a-f ]+R_386_TLS_TPOFF32 0+c +sg4 [0-9a-f ]+R_386_TLS_TPOFF +0+c +sg4 [0-9a-f ]+R_386_TLS_TPOFF +0+10 +sg5 [0-9a-f ]+R_386_TLS_TPOFF32 0+4 +sg2 - -Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 5 entries: - Offset +Info +Type +Sym.Value +Sym. Name [0-9a-f ]+R_386_TLS_DESC * 0+ +sg1 -[0-9a-f ]+R_386_TLS_DESC * -[0-9a-f ]+R_386_TLS_DESC * -[0-9a-f ]+R_386_TLS_DESC * -[0-9a-f ]+R_386_TLS_DESC * Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * - +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 - +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 - +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 - +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 - +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 - +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1 - +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 - +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 - +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +6 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +6 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +6 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1 + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7 Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * .* FILE +LOCAL +DEFAULT +ABS .*tlsdesc.o - +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1 - +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2 - +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3 - +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +7 sl4 - +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +7 sl5 - +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +7 sl6 - +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 - +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +6 sl1 + +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +6 sl2 + +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +6 sl3 + +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +6 sl4 + +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +6 sl5 + +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +6 sl6 + +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +6 sl7 + +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +6 sl8 .* FILE +LOCAL +DEFAULT +ABS - +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 - +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC - +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +7 sh3 - +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +8 sH2 - +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +8 sH7 - +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +7 sh7 - +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +7 sh8 - +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +8 sH4 - +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +7 sh4 - +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +8 sH3 - +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +7 sh5 - +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +8 sH5 - +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +8 sH6 - +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +8 sH8 - +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +7 sh1 - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ - +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +7 sh2 - +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +7 sh6 - +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 - +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 - +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 - +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 - +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 - +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1 - +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 - +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 - +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +7 sH1 + +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +6 _TLS_MODULE_BASE_ + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +8 _DYNAMIC + +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +6 sh3 + +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +7 sH2 + +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +7 sH7 + +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +6 sh7 + +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +6 sh8 + +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +7 sH4 + +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +6 sh4 + +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +7 sH3 + +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +6 sh5 + +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +7 sH5 + +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +7 sH6 + +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +7 sH8 + +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +6 sh1 + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +6 sh2 + +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +6 sh6 + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +6 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +6 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +6 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +6 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +6 sg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +5 fn1 + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +6 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +6 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +6 sg7 diff --git a/ld/testsuite/ld-i386/tlsdesc2.d b/ld/testsuite/ld-i386/tlsdesc2.d index b8569e8..c37557a 100644 --- a/ld/testsuite/ld-i386/tlsdesc2.d +++ b/ld/testsuite/ld-i386/tlsdesc2.d @@ -3,8 +3,9 @@ #ld: -melf_i386 -shared -z now #readelf: -d --wide +#failif #... .*\(PLTRELSZ\).* .*\(PLTREL\).* .*\(JMPREL\).* -#pass +#... diff --git a/ld/testsuite/ld-i386/tlsgdesc.rd b/ld/testsuite/ld-i386/tlsgdesc.rd index 0744aeb..a129bf6 100644 --- a/ld/testsuite/ld-i386/tlsgdesc.rd +++ b/ld/testsuite/ld-i386/tlsgdesc.rd @@ -41,22 +41,22 @@ Program Headers: +01 +.dynamic .got .got.plt * +02 +.dynamic * -Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 10 entries: Offset +Info +Type +Sym.Value +Sym. Name [0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG3 [0-9a-f ]+R_386_TLS_TPOFF +0+ +sG5 [0-9a-f ]+R_386_TLS_DTPMOD3 0+ +sG2 [0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sG2 +[0-9a-f ]+R_386_TLS_DESC +0+ +sG2 [0-9a-f ]+R_386_TLS_TPOFF +0+ +sG4 [0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG6 [0-9a-f ]+R_386_TLS_DTPMOD3 0+ +sG1 [0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sG1 +[0-9a-f ]+R_386_TLS_DESC +0+ +sG1 -Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 3 entries: +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry: Offset +Info +Type +Sym.Value +Sym. Name [0-9a-f ]+R_386_JUMP_SLOT +0+ +___tls_get_addr -[0-9a-f ]+R_386_TLS_DESC +0+ +sG1 -[0-9a-f ]+R_386_TLS_DESC +0+ +sG2 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp index e8b93b3..07a8a2f 100644 --- a/ld/testsuite/ld-ifunc/ifunc.exp +++ b/ld/testsuite/ld-ifunc/ifunc.exp @@ -54,6 +54,13 @@ if ![check_shared_lib_support] { return } +set need_direct_extern_access "" +if { [istarget i?86-*-linux*] + || [istarget i?86-*-gnu*] } then { + # These targets need direct extern access in some tests. + set need_direct_extern_access "$DIRECT_EXTERN_ACCESS_CFLAGS" +} + set saved_ASFLAGS "$ASFLAGS" if { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { set ASFLAGS "$ASFLAGS -mx86-used-note=no" @@ -497,6 +504,7 @@ if { [check_ifunc_available] } { { ifunc-main.c } \ "ifunc-main" \ "ifunc-main.out" \ + "$need_direct_extern_access" \ ] \ [list \ "Run ifunc-main with -fpic" \ @@ -514,6 +522,7 @@ if { [check_ifunc_available] } { { ifunc-main.c } \ "ifunc-mainn" \ "ifunc-main.out" \ + "$need_direct_extern_access" \ ] \ [list \ "Run ifunc-main with PIE (-z now)" \ diff --git a/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp b/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp index a33727f..5bc48b2 100644 --- a/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp +++ b/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp @@ -172,6 +172,18 @@ if [istarget "loongarch64-*-*"] { "desc-ie-norelax" \ ] \ ] \ + + run_ld_link_tests \ + [list \ + [list \ + "undefind weak with tls le" \ + "" "-e0" \ + "" \ + {undefweak_le.s} \ + {} \ + "undefweak_le" \ + ] \ + ] } if [istarget "loongarch64-*-*"] { diff --git a/ld/testsuite/ld-loongarch-elf/pic.exp b/ld/testsuite/ld-loongarch-elf/pic.exp index e449a33..510c3fd 100644 --- a/ld/testsuite/ld-loongarch-elf/pic.exp +++ b/ld/testsuite/ld-loongarch-elf/pic.exp @@ -115,31 +115,33 @@ run_ld_link_tests $link_tests set link_tests_libc [list \ [list \ "$testname readelf -s/-r nopic-global-so" \ - "-L./tmpdir -lnopic-global -L/usr/lib -lc" "" \ + "-Wl,--no-as-needed" "" \ {nopic-global.s} \ {{readelf {-s} nopic-global-so.sd} \ {readelf {-r} nopic-global-so.rd}} \ "nopic-global-so" \ + "" "-L./tmpdir -lnopic-global" \ ] \ [list \ "$testname readelf -s/-x nopic-weak-global-so" \ - "-L./tmpdir -lnopic-global -L/usr/lib -lc" "" \ + "-Wl,--no-as-needed" "" \ {nopic-weak-global.s} \ {{readelf {-s} nopic-weak-global-so.sd} \ {readelf {-r} nopic-weak-global-so.rd}} \ "nopic-weak-global-so" \ + "" "-L./tmpdir -lnopic-global" \ ] \ ] # 0:name -# 1:ld/ar leading options, placed before object files -# 2:ld/ar trailing options, placed after object files -# 3:assembler options -# 4:filenames of assembler files -# 5:list of actions, options and expected outputs. -# 6:name of output file -# 7:compiler flags (optional) +# 1:leading ld or ar options +# 2:compile options +# 3:filenames of source files +# 4:action and options. +# 5:name of output file +# 6:language (optional) +# 7:trailing ld options (optional), placed after object files run_cc_link_tests $link_tests_libc @@ -170,10 +172,11 @@ set link_exec_tests [list \ ] \ [list \ "$testname" \ - "-L./tmpdir -lnopic-global -lc -Wl,-rpath=./tmpdir -no-pie" "" \ + "-Wl,--no-as-needed" "" \ { nopic-global.s } \ "nopic-global-so" \ - "nopic-global.out" \ + "nopic-global.out" "" "" "" \ + "-L./tmpdir -lnopic-global -lc -Wl,-rpath=./tmpdir -no-pie" \ ] \ [list \ "$testname" \ @@ -184,10 +187,11 @@ set link_exec_tests [list \ ] \ [list \ "$testname" \ - "-L./tmpdir -lnopic-global -lc -Wl,-rpath=./tmpdir -no-pie" "" \ + "-Wl,--no-as-needed" "" \ { nopic-weak-global.s } \ "nopic-weak-global-so" \ - "nopic-weak-global.out" \ + "nopic-weak-global.out" "" "" "" \ + "-L./tmpdir -lnopic-global -lc -Wl,-rpath=./tmpdir -no-pie" \ ] \ ] diff --git a/ld/testsuite/ld-loongarch-elf/undefweak_le.s b/ld/testsuite/ld-loongarch-elf/undefweak_le.s new file mode 100644 index 0000000..6e73018 --- /dev/null +++ b/ld/testsuite/ld-loongarch-elf/undefweak_le.s @@ -0,0 +1,7 @@ +_start: + lu12i.w $t0,%le_hi20_r(undefweak_le) + add.d $t0,$t0,$tp,%le_add_r(undefweak_le) + ld.d $t0,$t0,%le_lo12_r(undefweak_le) + + .weak undefweak_le + .hidden undefweak_le diff --git a/ld/testsuite/ld-pe/pe-aarch64.d b/ld/testsuite/ld-pe/pe-aarch64.d index 18b1c9b..ac287a6 100644 --- a/ld/testsuite/ld-pe/pe-aarch64.d +++ b/ld/testsuite/ld-pe/pe-aarch64.d @@ -6,7 +6,7 @@ Disassembly of section .text: -0000000140001000 <___tls_end__>: +0000000140001000 <_start>: 140001000: d2800281 mov x1, #0x14 // #20 140001004: 14000001 b 140001008 <foo> diff --git a/ld/testsuite/ld-pe/pe-aarch64.s b/ld/testsuite/ld-pe/pe-aarch64.s index 5d49350..b9e7dae 100644 --- a/ld/testsuite/ld-pe/pe-aarch64.s +++ b/ld/testsuite/ld-pe/pe-aarch64.s @@ -4,6 +4,11 @@ .section .text + .global _start + .def _start + .scl 2 /* C_EXT */ + .type 32 /* DT_FUNC */ + .endef _start: mov x1, 20 b foo diff --git a/ld/testsuite/ld-plugin/lto-binutils.exp b/ld/testsuite/ld-plugin/lto-binutils.exp index de017f0..1e156e4 100644 --- a/ld/testsuite/ld-plugin/lto-binutils.exp +++ b/ld/testsuite/ld-plugin/lto-binutils.exp @@ -125,7 +125,7 @@ proc run_lto_binutils_test { lto_tests } { objdump { set dump_prog $objdump } nm - { set dump_prog $nm } + { set dump_prog "$nm $plug_opt" } readelf { set dump_prog $READELF } default @@ -254,24 +254,22 @@ run_lto_binutils_test [list \ ] \ ] -if { [check_lto_fat_available] } { - run_lto_binutils_test [list \ - [list \ - "strip" \ - "-R .gnu.*lto_* -N __gnu_lto_v1" \ - "strip-1a.o" \ - "strip-1a-s-all.o" \ - {{nm -n strip-1a-s-all.nd}} \ - ] \ - [list \ - "strip" \ - "-R .gnu.*lto_* -N __gnu_lto_v1" \ - "libstrip-1a.a" \ - "libstrip-1a-s-all.a" \ - {{nm -n strip-1a-s-all.nd}} \ - ] \ - ] -} +run_lto_binutils_test [list \ + [list \ + "strip" \ + "-R .gnu.*lto_* -N __gnu_lto_v1" \ + "strip-1a.o" \ + "strip-1a-s-all.o" \ + {{nm -n strip-1a-s-all.nd}} \ + ] \ + [list \ + "strip" \ + "-R .gnu.*lto_* -N __gnu_lto_v1" \ + "libstrip-1a.a" \ + "libstrip-1a-s-all.a" \ + {{nm -n strip-1a-s-all.nd}} \ + ] \ +] run_cc_link_tests [list \ [list \ diff --git a/ld/testsuite/ld-plugin/plugin.exp b/ld/testsuite/ld-plugin/plugin.exp index 38a4036..2e148e4 100644 --- a/ld/testsuite/ld-plugin/plugin.exp +++ b/ld/testsuite/ld-plugin/plugin.exp @@ -87,11 +87,11 @@ set regcln "-plugin-opt registercleanup" set failed_compile 0 set _ "" set plugin_nm_output "" -set old_CFLAGS "$CFLAGS_FOR_TARGET" -append CFLAGS_FOR_TARGET " $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" +set old_CFLAGS "$CFLAGS_FOR_TARGET_TEST" +append CFLAGS_FOR_TARGET_TEST " $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] || [istarget m9s12x*-*-*] } { # otherwise get FAILS due to _.frame - append CFLAGS_FOR_TARGET " -fomit-frame-pointer" + append CFLAGS_FOR_TARGET_TEST " -fomit-frame-pointer" } if { $can_compile && \ @@ -291,7 +291,7 @@ if { !$can_compile || $failed_compile } { unsupported [lindex $testitem 0] } } - set CFLAGS_FOR_TARGET "$old_CFLAGS" + set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" return } @@ -394,4 +394,4 @@ if [ar_simple_create $ar "--plugin $plugin4_path" "tmpdir/libpr20070.a" \ unsupported "PR ld/20070" } -set CFLAGS_FOR_TARGET "$old_CFLAGS" +set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" diff --git a/ld/testsuite/ld-plugin/strip-1a-s-all.nd b/ld/testsuite/ld-plugin/strip-1a-s-all.nd index 612ba6a..52265c2 100644 --- a/ld/testsuite/ld-plugin/strip-1a-s-all.nd +++ b/ld/testsuite/ld-plugin/strip-1a-s-all.nd @@ -1,3 +1,6 @@ #... -[0-9a-f]* C _?__gnu_lto_slim + + U foo2 + + U foo3 +0+ T foo1 +0+ T main #pass diff --git a/ld/testsuite/ld-riscv-elf/absolute-no-relative.d b/ld/testsuite/ld-riscv-elf/absolute-no-relative.d new file mode 100644 index 0000000..6699ac1 --- /dev/null +++ b/ld/testsuite/ld-riscv-elf/absolute-no-relative.d @@ -0,0 +1,9 @@ +#source: absolute-no-relative.s +#as: +#ld: -Tabsolute-no-relative.ld -pie +#readelf: -Wr + +Relocation section '.rela.dyn' at .* +[ ]+Offset[ ]+Info[ ]+Type[ ]+.* +0+[ ]+0+[ ]+R_RISCV_NONE[ ]+0 +0+[ ]+0+[ ]+R_RISCV_NONE[ ]+0 diff --git a/ld/testsuite/ld-riscv-elf/absolute-no-relative.ld b/ld/testsuite/ld-riscv-elf/absolute-no-relative.ld new file mode 100644 index 0000000..34bbcba --- /dev/null +++ b/ld/testsuite/ld-riscv-elf/absolute-no-relative.ld @@ -0,0 +1,6 @@ +ENTRY(_start) +SECTIONS { + __symbol_abs__ = 0x1234; + .text 0x10000 : { *(.text*)} + .got 0x20000 : { *(.got*) } +} diff --git a/ld/testsuite/ld-riscv-elf/absolute-no-relative.s b/ld/testsuite/ld-riscv-elf/absolute-no-relative.s new file mode 100644 index 0000000..4515661 --- /dev/null +++ b/ld/testsuite/ld-riscv-elf/absolute-no-relative.s @@ -0,0 +1,8 @@ +.text +.global _start +_start: +lga x1, symbol_abs +lga x1, __symbol_abs__ + +.global symbol_abs +.set symbol_abs, 0x100 diff --git a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp index bae1105..b0d510a 100644 --- a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp +++ b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp @@ -338,4 +338,5 @@ if [istarget "riscv*-*-*"] { } run_dump_test "tls" run_dump_test "tlsbin" + run_dump_test "absolute-no-relative" } diff --git a/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d b/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d index d134457..c60e48a 100644 --- a/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d +++ b/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d @@ -1,5 +1,6 @@ #source: pcgp-relax-01.s -#ld: --no-relax-gp --relax +#as: -march=rv64i +#ld: --no-relax-gp --relax -m[riscv_choose_lp64_emul] #objdump: -d -Mno-aliases .*:[ ]+file format .* diff --git a/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d b/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d index f942567..24f9c49 100644 --- a/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d +++ b/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d @@ -1,5 +1,6 @@ #source: pcgp-relax-01.s -#ld: --relax +#as: -march=rv64i +#ld: --relax -m[riscv_choose_lp64_emul] #objdump: -d -Mno-aliases .*:[ ]+file format .* diff --git a/ld/testsuite/ld-riscv-elf/relax-max-align-gp.d b/ld/testsuite/ld-riscv-elf/relax-max-align-gp.d index 5832835..a4a94db 100644 --- a/ld/testsuite/ld-riscv-elf/relax-max-align-gp.d +++ b/ld/testsuite/ld-riscv-elf/relax-max-align-gp.d @@ -1,5 +1,6 @@ #source: relax-max-align-gp.s -#ld: +#as: -march=rv64i +#ld: -m[riscv_choose_lp64_emul] #objdump: -d .*:[ ]+file format .* diff --git a/ld/testsuite/ld-riscv-elf/relro-relax-lui.d b/ld/testsuite/ld-riscv-elf/relro-relax-lui.d index d29aa9d..2b0670e 100644 --- a/ld/testsuite/ld-riscv-elf/relro-relax-lui.d +++ b/ld/testsuite/ld-riscv-elf/relro-relax-lui.d @@ -1,5 +1,6 @@ #source: relro-relax-lui.s -#ld: -zrelro --relax +#as: -march=rv64i +#ld: -zrelro --relax -m[riscv_choose_lp64_emul] #objdump: -d -Mno-aliases .*:[ ]+file format .* diff --git a/ld/testsuite/ld-riscv-elf/shared-lib-nopic-02.d b/ld/testsuite/ld-riscv-elf/shared-lib-nopic-02.d index f866d01..67ac439 100644 --- a/ld/testsuite/ld-riscv-elf/shared-lib-nopic-02.d +++ b/ld/testsuite/ld-riscv-elf/shared-lib-nopic-02.d @@ -1,4 +1,4 @@ #source: shared-lib-nopic-02.s #as: #ld: -shared -#error: .*relocation R_RISCV_JAL against `foo_default' which may bind externally can not be used when making a shared object; recompile with -fPIC +#error: .*relocation (R_RISCV_RVC_JUMP|R_RISCV_JAL) against `foo_default' which may bind externally can not be used when making a shared object; recompile with -fPIC diff --git a/ld/testsuite/ld-riscv-elf/variant_cc-now.d b/ld/testsuite/ld-riscv-elf/variant_cc-now.d index 9453554..b46b03c 100644 --- a/ld/testsuite/ld-riscv-elf/variant_cc-now.d +++ b/ld/testsuite/ld-riscv-elf/variant_cc-now.d @@ -1,6 +1,7 @@ #source: variant_cc-1.s #source: variant_cc-2.s -#ld: -shared --hash-style=sysv -Ttext 0x8000 -z now +#as: -march=rv64i -mabi=lp64 +#ld: -shared --hash-style=sysv -Ttext 0x8000 -z now -m[riscv_choose_lp64_emul] #readelf: -rsW Relocation section '.rela.plt' at .* diff --git a/ld/testsuite/ld-riscv-elf/variant_cc-shared.d b/ld/testsuite/ld-riscv-elf/variant_cc-shared.d index ffb69a3..df7a134 100644 --- a/ld/testsuite/ld-riscv-elf/variant_cc-shared.d +++ b/ld/testsuite/ld-riscv-elf/variant_cc-shared.d @@ -1,6 +1,7 @@ #source: variant_cc-1.s #source: variant_cc-2.s -#ld: -shared --hash-style=sysv -Ttext 0x8000 +#as: -march=rv64i -mabi=lp64 +#ld: -shared --hash-style=sysv -Ttext 0x8000 -m[riscv_choose_lp64_emul] #readelf: -rsW Relocation section '.rela.plt' at .* diff --git a/ld/testsuite/ld-scripts/libpr33265-1.a b/ld/testsuite/ld-scripts/libpr33265-1.a new file mode 100644 index 0000000..eab1008 --- /dev/null +++ b/ld/testsuite/ld-scripts/libpr33265-1.a @@ -0,0 +1 @@ +GROUP ( libpr33265-1.a ) diff --git a/ld/testsuite/ld-scripts/libpr33265-2.a b/ld/testsuite/ld-scripts/libpr33265-2.a new file mode 100644 index 0000000..10f4b91 --- /dev/null +++ b/ld/testsuite/ld-scripts/libpr33265-2.a @@ -0,0 +1 @@ +GROUP ( ./././././/libpr33265-2.a ) diff --git a/ld/testsuite/ld-scripts/libpr33265-3a.a b/ld/testsuite/ld-scripts/libpr33265-3a.a new file mode 100644 index 0000000..bdd4f9a --- /dev/null +++ b/ld/testsuite/ld-scripts/libpr33265-3a.a @@ -0,0 +1 @@ +GROUP ( ./././././/libpr33265-3b.a ) diff --git a/ld/testsuite/ld-scripts/libpr33265-3b.a b/ld/testsuite/ld-scripts/libpr33265-3b.a new file mode 100644 index 0000000..7458328 --- /dev/null +++ b/ld/testsuite/ld-scripts/libpr33265-3b.a @@ -0,0 +1 @@ +GROUP ( ./././././/libpr33265-3c.a ) diff --git a/ld/testsuite/ld-scripts/libpr33265-3c.a b/ld/testsuite/ld-scripts/libpr33265-3c.a new file mode 100644 index 0000000..4583c09 --- /dev/null +++ b/ld/testsuite/ld-scripts/libpr33265-3c.a @@ -0,0 +1 @@ +GROUP ( libpr33265-3a.a ) diff --git a/ld/testsuite/ld-scripts/linker-script-not-found.d b/ld/testsuite/ld-scripts/linker-script-not-found.d new file mode 100644 index 0000000..61d4d8a --- /dev/null +++ b/ld/testsuite/ld-scripts/linker-script-not-found.d @@ -0,0 +1,3 @@ +#source: default-script.s +#ld: -T misspelled.ld +#error: cannot open linker script file misspelled\.ld: .*\Z diff --git a/ld/testsuite/ld-scripts/pr24576-1.d b/ld/testsuite/ld-scripts/pr24576-1.d new file mode 100644 index 0000000..6cc7621 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr24576-1.d @@ -0,0 +1,3 @@ +#source: default-script.s +#ld: -defsym _START=0x800 -T default-script.t -T default-script.t +#error: .*default-script.t\)' appears multiple times diff --git a/ld/testsuite/ld-scripts/pr24576-2.d b/ld/testsuite/ld-scripts/pr24576-2.d new file mode 100644 index 0000000..2d26ab3 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr24576-2.d @@ -0,0 +1,3 @@ +#source: default-script.s +#ld: -defsym _START=0x800 -T ././/default-script.t -T default-script.t +#error: .*default-script.t\)' appears multiple times diff --git a/ld/testsuite/ld-scripts/pr33265-1.d b/ld/testsuite/ld-scripts/pr33265-1.d new file mode 100644 index 0000000..b0df33d --- /dev/null +++ b/ld/testsuite/ld-scripts/pr33265-1.d @@ -0,0 +1,3 @@ +#source: start.s +#ld: -r --whole-archive -lpr33265-1 +#error: .*group nested too deeply.* diff --git a/ld/testsuite/ld-scripts/pr33265-2.d b/ld/testsuite/ld-scripts/pr33265-2.d new file mode 100644 index 0000000..6e9da74 --- /dev/null +++ b/ld/testsuite/ld-scripts/pr33265-2.d @@ -0,0 +1,3 @@ +#source: start.s +#ld: -r --whole-archive -lpr33265-2 +#error: .*group nested too deeply.* diff --git a/ld/testsuite/ld-scripts/pr33265-3.d b/ld/testsuite/ld-scripts/pr33265-3.d new file mode 100644 index 0000000..a2f42fa --- /dev/null +++ b/ld/testsuite/ld-scripts/pr33265-3.d @@ -0,0 +1,3 @@ +#source: start.s +#ld: -r --whole-archive -lpr33265-3a +#error: .*group nested too deeply.* diff --git a/ld/testsuite/ld-scripts/script.exp b/ld/testsuite/ld-scripts/script.exp index 5206563..7a23f43 100644 --- a/ld/testsuite/ld-scripts/script.exp +++ b/ld/testsuite/ld-scripts/script.exp @@ -233,9 +233,16 @@ run_dump_test "pr20302" run_dump_test "output-section-types" run_dump_test "ld-version" run_dump_test "ld-version-2" +run_dump_test "pr24576-1" +run_dump_test "pr24576-2" +run_dump_test "linker-script-not-found" run_dump_test "segment-start" {{name (default)}} run_dump_test "segment-start" {{name (overridden)} \ {ld -Ttext-segment=0x10000000}} +run_dump_test "pr33265-1" +run_dump_test "pr33265-2" +run_dump_test "pr33265-3" + set LDFLAGS $old_LDFLAGS diff --git a/ld/testsuite/ld-scripts/sort_b_n_a-2.d b/ld/testsuite/ld-scripts/sort_b_n_a-2.d index 4c9d8fe..2fd920d 100644 --- a/ld/testsuite/ld-scripts/sort_b_n_a-2.d +++ b/ld/testsuite/ld-scripts/sort_b_n_a-2.d @@ -1,7 +1,7 @@ #source: sort_n_a-a.s #source: sort_n_a-b.s #ld: -T sort_b_n_a.t --sort-section name -#name: SORT_BY_NAME(SORT_BY_ALIGNMENT()) --sort-section alignment +#name: SORT_BY_NAME(SORT_BY_ALIGNMENT()) --sort-section name #nm: -n #... diff --git a/ld/testsuite/ld-scripts/sort_no-2.d b/ld/testsuite/ld-scripts/sort_no-2.d index e0943d5..c85cc34 100644 --- a/ld/testsuite/ld-scripts/sort_no-2.d +++ b/ld/testsuite/ld-scripts/sort_no-2.d @@ -1,6 +1,6 @@ #source: sort_b_a.s #ld: -T sort_no.t -#name: no SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT +#name: no SORT_BY_NAME/SORT_BY_ALIGNMENT/SORT (2) #nm: -n #... diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp index 29de93a..c67084c 100644 --- a/ld/testsuite/ld-shared/shared.exp +++ b/ld/testsuite/ld-shared/shared.exp @@ -37,7 +37,8 @@ if { ![check_shared_lib_support] } { # This test can only be run on a couple of ELF platforms. # Square bracket expressions seem to confuse istarget. -if { ![istarget hppa*64*-*-hpux*] \ +if { ![istarget *-*-solaris2*] \ + && ![istarget hppa*64*-*-hpux*] \ && ![istarget hppa*-*-linux*] \ && ![istarget i?86-*-elf*] \ && ![istarget i?86-*-linux*] \ @@ -51,7 +52,6 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget powerpc*-*-linux*] \ && ![istarget powerpc*-*-sysv4*] \ && ![istarget sparc*-*-elf] \ - && ![istarget sparc*-*-solaris2*] \ && ![istarget sparc*-*-linux*] \ && ![istarget arm*-*-linux*] \ && ![istarget alpha*-*-linux*] \ @@ -62,13 +62,20 @@ if { ![istarget hppa*64*-*-hpux*] \ return } +set need_direct_extern_access "" +if { [istarget i?86-*-linux*] + || [istarget i?86-*-gnu*] } then { + # These targets need direct extern access in some tests. + set need_direct_extern_access "$DIRECT_EXTERN_ACCESS_CFLAGS" +} + set tmpdir tmpdir set SHCFLAG "" set shared_needs_pic "no" # Disable all sanitizers. -set old_CFLAGS "$CFLAGS_FOR_TARGET" -append CFLAGS_FOR_TARGET " $NOSANITIZE_CFLAGS" +set old_CFLAGS "$CFLAGS_FOR_TARGET_TEST" +append CFLAGS_FOR_TARGET_TEST " $NOSANITIZE_CFLAGS" if { [is_xcoff_format] } { # Not all the useful features are available with AIX shared @@ -104,7 +111,7 @@ if [istarget arm*-*-linux*] { set file [open $tmpdir/movw-detect.c w] puts $file "void foo(void) { __asm (\"movw r0, #0\"); }" close $file - if [run_host_cmd_yesno "$CC_FOR_TARGET" "$CFLAGS_FOR_TARGET -c $tmpdir/movw-detect.c -o $tmpdir/movw-detect.o"] { + if [run_host_cmd_yesno "$CC_FOR_TARGET" "$CFLAGS_FOR_TARGET_TEST -c $tmpdir/movw-detect.c -o $tmpdir/movw-detect.o"] { set shared_needs_pic "yes" } } @@ -217,14 +224,15 @@ if ![ld_compile "$CC_FOR_TARGET $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $ # will need to do more relocation work. However, note that not # using -fpic will cause some of the tests to return different # results. Make sure that PLT is used since PLT is expected. - if { ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] - || ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { + if { ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $NOPIE_CFLAGS $SHCFLAG $need_direct_extern_access" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] + || ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $NOPIE_CFLAGS $SHCFLAG $need_direct_extern_access" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { unsupported "shared (non PIC)" } else { if { [is_xcoff_format] } { shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o xcoff "" $NOPIE_LDFLAGS } else { - # Solaris defaults to -z text. - setup_xfail "*-*-solaris2*" + # 64-bit Solaris requires PIC. + setup_xfail "sparcv9*-*-solaris2*" + setup_xfail "x86_64-*-solaris2*" setup_xfail "ia64-*-linux*" setup_xfail "alpha*-*-linux*" setup_xfail "powerpc-*-linux-musl" @@ -270,7 +278,7 @@ if ![ld_compile "$CC_FOR_TARGET $NOPIE_CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $ setup_xfail "arm*-*-linux*" } setup_xfail "aarch64*-*-linux*" - # Solaris defaults to -z text. + # Solaris refuses to map shared objects with non-zero load addresses. setup_xfail "*-*-solaris2*" shared_test shnp "shared (non PIC, load offset)" \ mainnp.o sh1np.o sh2np.o shared \ @@ -305,8 +313,9 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi if { [is_xcoff_format] } { shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o xcoff "" $NOPIE_LDFLAGS } else { - # Solaris defaults to -z text. - setup_xfail "*-*-solaris2*" + # 64-bit Solaris requires PIC. + setup_xfail "sparcv9*-*-solaris2*" + setup_xfail "x86_64-*-solaris2*" setup_xfail "ia64-*-linux*" setup_xfail "alpha*-*-linux*" setup_xfail "powerpc-*-linux-musl" @@ -343,4 +352,4 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi } } -set CFLAGS_FOR_TARGET "$old_CFLAGS" +set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" diff --git a/ld/testsuite/ld-srec/srec.exp b/ld/testsuite/ld-srec/srec.exp index bec5913..227411a 100644 --- a/ld/testsuite/ld-srec/srec.exp +++ b/ld/testsuite/ld-srec/srec.exp @@ -364,25 +364,26 @@ if { ![check_compiler_available] } { # Pass -fplt to CC and CXX since -fno-plt doesn't work with S-records # tests. Also add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if PIE doesn't work # with S-records. Also add $NOCF_PROTECTION_CFLAGS for S-records. -# Also add $NOSANITIZE_CFLAGS for S-records. -set old_CFLAGS "$CFLAGS_FOR_TARGET" -append CFLAGS_FOR_TARGET " $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS $NOCF_PROTECTION_CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" -set old_CXXFLAGS "$CXXFLAGS_FOR_TARGET" -append CXXFLAGS_FOR_TARGET " $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS $NOCF_PROTECTION_CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" +# Also add $NOSANITIZE_CFLAGS for S-records. Also add +# $DIRECT_EXTERN_ACCESS_CFLAGS. +set old_CFLAGS "$CFLAGS_FOR_TARGET_TEST" +append CFLAGS_FOR_TARGET_TEST " $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS $NOCF_PROTECTION_CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS" +set old_CXXFLAGS "$CXXFLAGS_FOR_TARGET_TEST" +append CXXFLAGS_FOR_TARGET_TEST " $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS $NOCF_PROTECTION_CFLAGS $NOSANITIZE_CFLAGS $NOLTO_CFLAGS $DIRECT_EXTERN_ACCESS_CFLAGS" # S-records can't handle .note.gnu.property sections. if { [is_elf_format] \ && ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) } { - append CFLAGS_FOR_TARGET " -Wa,-mx86-used-note=no" - append CXXFLAGS_FOR_TARGET " -Wa,-mx86-used-note=no" + append CFLAGS_FOR_TARGET_TEST " -Wa,-mx86-used-note=no" + append CXXFLAGS_FOR_TARGET_TEST " -Wa,-mx86-used-note=no" } if { ![ld_compile $CC_FOR_TARGET $srcdir/$subdir/sr1.c tmpdir/sr1.o] \ || ![ld_compile $CC_FOR_TARGET $srcdir/$subdir/sr2.c tmpdir/sr2.o] } { unsupported $test1 unsupported $test2 - set CFLAGS_FOR_TARGET "$old_CFLAGS" - set CXXFLAGS_FOR_TARGET "$old_CXXFLAGS" + set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" + set CXXFLAGS_FOR_TARGET_TEST "$old_CXXFLAGS" return } @@ -454,15 +455,15 @@ run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o" if { ![is_remote host] && [which $CXX_FOR_TARGET] == 0 } { untested $test2 - set CFLAGS_FOR_TARGET "$old_CFLAGS" - set CXXFLAGS_FOR_TARGET "$old_CXXFLAGS" + set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" + set CXXFLAGS_FOR_TARGET_TEST "$old_CXXFLAGS" return } if ![ld_compile "$CXX_FOR_TARGET -fno-exceptions" $srcdir/$subdir/sr3.cc tmpdir/sr3.o] { unsupported $test2 - set CFLAGS_FOR_TARGET "$old_CFLAGS" - set CXXFLAGS_FOR_TARGET "$old_CXXFLAGS" + set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" + set CXXFLAGS_FOR_TARGET_TEST "$old_CXXFLAGS" return } @@ -488,5 +489,5 @@ setup_xfail "bpf-*-*" run_srec_test $test2 "tmpdir/sr3.o" -set CFLAGS_FOR_TARGET "$old_CFLAGS" -set CXXFLAGS_FOR_TARGET "$old_CXXFLAGS" +set CFLAGS_FOR_TARGET_TEST "$old_CFLAGS" +set CXXFLAGS_FOR_TARGET_TEST "$old_CXXFLAGS" diff --git a/ld/testsuite/ld-vsb/vsb.exp b/ld/testsuite/ld-vsb/vsb.exp index 84ae1ed..8eff759 100644 --- a/ld/testsuite/ld-vsb/vsb.exp +++ b/ld/testsuite/ld-vsb/vsb.exp @@ -50,6 +50,13 @@ if { ![istarget hppa*64*-*-hpux*] \ return } +set need_direct_extern_access "" +if { [istarget i?86-*-linux*] + || [istarget i?86-*-gnu*] } then { + # These targets need direct extern access in some tests. + set need_direct_extern_access "$DIRECT_EXTERN_ACCESS_CFLAGS" +} + if [is_xcoff_format] { set test_list [lsort [glob -nocomplain $srcdir/$subdir/*-xcoff*.d]] } else { @@ -238,6 +245,7 @@ proc visibility_run {visibility} { global COMPRESS_LDFLAG global NOSANITIZE_CFLAGS global NOLTO_CFLAGS + global need_direct_extern_access if [ string match $visibility "hidden" ] { set VSBCFLAG "-DHIDDEN_TEST" @@ -284,7 +292,7 @@ proc visibility_run {visibility} { } else { # Compile the main program. Make sure that PLT is used since PLT # is expected. - if ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { + if ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS $need_direct_extern_access" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { unsupported "visibility ($visibility) (non PIC)" unsupported "visibility ($visibility)" } else { @@ -294,8 +302,8 @@ proc visibility_run {visibility} { # will need to do more relocation work. However, note that not # using -fpic will cause some of the tests to return different # results. Make sure that PLT is used since PLT is expected. - if { ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] - || ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { + if { ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS $need_direct_extern_access" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o] + || ![ld_compile "$CC_FOR_TARGET -g $NOPIE_CFLAGS $PLT_CFLAGS $SHCFLAG $VSBCFLAG $NOSANITIZE_CFLAGS $NOLTO_CFLAGS $need_direct_extern_access" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { unsupported "visibility ($visibility) (non PIC)" } else { # SunOS non PIC shared libraries don't permit some cases of diff --git a/ld/testsuite/ld-x86-64/binutils.exp b/ld/testsuite/ld-x86-64/binutils.exp new file mode 100644 index 0000000..4a0b211 --- /dev/null +++ b/ld/testsuite/ld-x86-64/binutils.exp @@ -0,0 +1,72 @@ +# Expect script for ELF/x86-64 binutils tests on linker outputs. +# Copyright (C) 2025 Free Software Foundation, Inc. +# +# 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. +# + +if ![is_elf_format] { + return +} + +if { ![istarget "x86_64-*-*"] } { + return +} + +# Tests here need -melf_x86_64 support. +set status [catch "exec $LD -V -melf_x86_64" got] +if { $status == 0 } { + run_ld_link_tests [list \ + [list \ + "Build libgot-1-x64.so" \ + "-shared -melf_x86_64 --no-ld-generated-unwind-info \ + -z noseparate-code -z max-page-size=0x200000 \ + --hash-style=sysv -z nomark-plt $NO_DT_RELR_LDFLAGS \ + --rosegment" \ + "" \ + "--64 -mx86-used-note=no --generate-missing-build-notes=no" \ + {got-1.s} \ + {{readelf -rW libgot-1a.rd} \ + {readelf -aW libgot-1b.rd} \ + {readelf --got-contents libgot-1c.rd} \ + {readelf {--got-contents -W} libgot-1d.rd}} \ + "libgot-1-x64.so" \ + ] \ + ] +} + +# Tests here need -melf32_x86_64 support. +set status [catch "exec $LD -V -melf32_x86_64" got] +if { $status == 0 } { + run_ld_link_tests [list \ + [list \ + "Build libgot-1-x32.so" \ + "-shared -melf32_x86_64 --no-ld-generated-unwind-info \ + -z noseparate-code -z max-page-size=0x200000 \ + --hash-style=sysv -z nomark-plt $NO_DT_RELR_LDFLAGS \ + --rosegment" \ + "" \ + "--x32 -mx86-used-note=no --generate-missing-build-notes=no" \ + {got-1.s} \ + {{readelf -rW libgot-1a-x32.rd} \ + {readelf -aW libgot-1b-x32.rd} \ + {readelf --got-contents libgot-1c-x32.rd} \ + {readelf {--got-contents -W} libgot-1d-x32.rd}} \ + "libgot-1-x32.so" \ + ] \ + ] +} diff --git a/ld/testsuite/ld-x86-64/dt-relr-1c-x32.d b/ld/testsuite/ld-x86-64/dt-relr-1c-x32.d new file mode 100644 index 0000000..7e3ce293 --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-1c-x32.d @@ -0,0 +1,26 @@ +#source: dt-relr-1.s +#as: --x32 +#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS -z nomark-plt --hash-style=sysv +#readelf: -D -r -s --wide +#target: x86_64-*-linux* + +'RELA' relocation section at offset 0x[0-9a-f]+ contains 24 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +data1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +data1 \+ 0 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 8 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 12 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +Symbol table for image contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +func1 +#pass diff --git a/ld/testsuite/ld-x86-64/dt-relr-1c.d b/ld/testsuite/ld-x86-64/dt-relr-1c.d new file mode 100644 index 0000000..12fb99e --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-1c.d @@ -0,0 +1,26 @@ +#source: dt-relr-1.s +#as: --64 +#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS -z nomark-plt --hash-style=sysv +#readelf: -D -r -s --wide +#target: x86_64-*-linux* + +'RELA' relocation section at offset 0x[0-9a-f]+ contains 48 bytes: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +data1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +data1 \+ 0 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 16 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 24 bytes: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +Symbol table for image contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +func1 +#pass diff --git a/ld/testsuite/ld-x86-64/dt-relr-1d-x32.d b/ld/testsuite/ld-x86-64/dt-relr-1d-x32.d new file mode 100644 index 0000000..2327796 --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-1d-x32.d @@ -0,0 +1,26 @@ +#source: dt-relr-1.s +#as: --x32 +#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS -z nocombreloc -z nomark-plt --hash-style=sysv +#readelf: -D -r -s --wide +#target: x86_64-*-linux* + +'RELA' relocation section at offset 0x[0-9a-f]+ contains 24 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +data1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +data1 \+ 0 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 8 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 12 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +Symbol table for image contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +func1 +#pass diff --git a/ld/testsuite/ld-x86-64/dt-relr-1d.d b/ld/testsuite/ld-x86-64/dt-relr-1d.d new file mode 100644 index 0000000..15b9f56 --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-1d.d @@ -0,0 +1,26 @@ +#source: dt-relr-1.s +#as: --64 +#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS -z nocombreloc -z nomark-plt --hash-style=sysv +#readelf: -D -r -s --wide +#target: x86_64-*-linux* + +'RELA' relocation section at offset 0x[0-9a-f]+ contains 48 bytes: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +data1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +data1 \+ 0 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 16 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 24 bytes: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func1 \+ 0 + +Symbol table for image contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +#... + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND +func1 +#pass diff --git a/ld/testsuite/ld-x86-64/dt-relr-2-x32.d b/ld/testsuite/ld-x86-64/dt-relr-2-x32.d new file mode 100644 index 0000000..b3e080e --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-2-x32.d @@ -0,0 +1,21 @@ +#source: dt-relr-2.s +#as: --x32 +#ld: -shared -melf32_x86_64 $DT_RELR_LDFLAGS -z nomark-plt --hash-style=sysv +#readelf: -D -r --wide +#target: x86_64-*-linux* + +'RELA' relocation section at offset 0x[0-9a-f]+ contains 24 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +data1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +data1 \+ 0 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 8 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 24 bytes: + +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +[0-9a-f]+ +func1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +[0-9a-f]+ +func2 \+ 0 diff --git a/ld/testsuite/ld-x86-64/dt-relr-2.d b/ld/testsuite/ld-x86-64/dt-relr-2.d new file mode 100644 index 0000000..71e8c73 --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-2.d @@ -0,0 +1,21 @@ +#source: dt-relr-2.s +#as: --64 +#ld: -shared -melf_x86_64 $DT_RELR_LDFLAGS -z nomark-plt --hash-style=sysv +#readelf: -D -r --wide +#target: x86_64-*-linux* + +'RELA' relocation section at offset 0x[0-9a-f]+ contains 48 bytes: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +data1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +data1 \+ 0 + +'RELR' relocation section at offset 0x[a-f0-9]+ contains 16 bytes: +#... +0000: +[0-9a-f]+ [0-9a-f]+ +.* +0001: +[0-9a-f]+ [0-9a-f]+ +.* + +[0-9a-f]+ +.* +#... +'PLT' relocation section at offset 0x[0-9a-f]+ contains 48 bytes: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +[0-9a-f]+ +func1 \+ 0 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +[0-9a-f]+ +func2 \+ 0 diff --git a/ld/testsuite/ld-x86-64/dt-relr-2.s b/ld/testsuite/ld-x86-64/dt-relr-2.s new file mode 100644 index 0000000..4e885f9 --- /dev/null +++ b/ld/testsuite/ld-x86-64/dt-relr-2.s @@ -0,0 +1,23 @@ + .text + .globl func1 +func1: + ret +foo: + call func1@PLT + call func2@PLT + add __ehdr_start@GOTPCREL(%rip), %rax + .globl func2 +func2: + ret + .globl func3 +func3: + ret + .section .bar,"aw",@progbits + .p2align 3 + .dc.a data1 + .dc.a __ehdr_start + + .section .foo,"aw",@progbits + .p2align 3 + .dc.a data1 + .dc.a __ehdr_start diff --git a/ld/testsuite/ld-x86-64/gnu2-tls-1.s b/ld/testsuite/ld-x86-64/gnu2-tls-1.s new file mode 100644 index 0000000..eca788c --- /dev/null +++ b/ld/testsuite/ld-x86-64/gnu2-tls-1.s @@ -0,0 +1,11 @@ + .section .text.startup,"ax",@progbits + .p2align 4 + .globl main + .type main, @function +main: + leaq foo@TLSDESC(%rip), %rax + call *foo@TLSCALL(%rax) + movl %fs:(%rax), %eax + ret + .size main, .-main + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/gnu2-tls-1a.rd b/ld/testsuite/ld-x86-64/gnu2-tls-1a.rd new file mode 100644 index 0000000..3eb926a --- /dev/null +++ b/ld/testsuite/ld-x86-64/gnu2-tls-1a.rd @@ -0,0 +1,7 @@ +#... +Version needs section '.gnu.version_r' contains 1 entry: + Addr: 0x[0-9a-f]+ +Offset: 0x[0-9a-f]+ +Link: +[0-9]+ +\(.dynstr\) + +0+: Version: 1 +File: libc\.so\.6(|\.1) +Cnt: +[0-9]+ +#... + 0x[a-f0-9]+: Name: GLIBC_ABI_GNU2_TLS Flags: none Version: [0-9]+ +#pass diff --git a/ld/testsuite/ld-x86-64/gnu2-tls-1b.rd b/ld/testsuite/ld-x86-64/gnu2-tls-1b.rd new file mode 100644 index 0000000..33ef8ac --- /dev/null +++ b/ld/testsuite/ld-x86-64/gnu2-tls-1b.rd @@ -0,0 +1,4 @@ +#failif +#... + 0x[a-f0-9]+: Name: GLIBC_ABI_GNU2_TLS Flags: none Version: [0-9]+ +#... diff --git a/ld/testsuite/ld-x86-64/got-1.s b/ld/testsuite/ld-x86-64/got-1.s new file mode 100644 index 0000000..7637069 --- /dev/null +++ b/ld/testsuite/ld-x86-64/got-1.s @@ -0,0 +1,7 @@ + .text + .globl func + .type func, @function +func: + call *foo@GOTPCREL(%rip) + jmp bar@PLT + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/libgot-1a-x32.rd b/ld/testsuite/ld-x86-64/libgot-1a-x32.rd new file mode 100644 index 0000000..6861d65 --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1a-x32.rd @@ -0,0 +1,9 @@ + +Relocation section '.rela.dyn' at offset 0x128 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name \+ Addend +0+200200 00000206 R_X86_64_GLOB_DAT 00000000 foo \+ 0 + +Relocation section '.rela.plt' at offset 0x134 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name \+ Addend +0+200220 00000307 R_X86_64_JUMP_SLOT 00000000 bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1a.rd b/ld/testsuite/ld-x86-64/libgot-1a.rd new file mode 100644 index 0000000..8ed4470 --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1a.rd @@ -0,0 +1,9 @@ + +Relocation section '.rela.dyn' at offset 0x1b8 contains 1 entry: + Offset Info Type Symbol's Value Symbol's Name \+ Addend +0+200340 0000000200000006 R_X86_64_GLOB_DAT 0000000000000000 foo \+ 0 + +Relocation section '.rela.plt' at offset 0x1d0 contains 1 entry: + Offset Info Type Symbol's Value Symbol's Name \+ Addend +0+200360 0000000300000007 R_X86_64_JUMP_SLOT 0000000000000000 bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1b-x32.rd b/ld/testsuite/ld-x86-64/libgot-1b-x32.rd new file mode 100644 index 0000000..f900303 --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1b-x32.rd @@ -0,0 +1,119 @@ +ELF Header: + Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 + Class: ELF32 + Data: 2's complement, little endian + Version: 1 \(current\) + OS/ABI: UNIX - System V + ABI Version: 0 + Type: DYN \(Shared object file\) + Machine: Advanced Micro Devices X86-64 + Version: 0x1 + Entry point address: 0x0 + Start of program headers: 52 \(bytes into file\) + Start of section headers: 792 \(bytes into file\) + Flags: 0x0 + Size of this header: 52 \(bytes\) + Size of program headers: 32 \(bytes\) + Number of program headers: 4 + Size of section headers: 40 \(bytes\) + Number of section headers: 14 + Section header string table index: 13 + +Section Headers: + \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al + \[ 0\] NULL 00000000 000000 000000 00 0 0 0 + \[ 1\] .hash HASH 000000b4 0000b4 000024 04 A 2 0 4 + \[ 2\] .dynsym DYNSYM 000000d8 0000d8 000040 10 A 3 1 4 + \[ 3\] .dynstr STRTAB 00000118 000118 00000e 00 A 0 0 1 + \[ 4\] .rela.dyn RELA 00000128 000128 00000c 0c A 2 0 4 + \[ 5\] .rela.plt RELA 00000134 000134 00000c 0c AI 2 10 4 + \[ 6\] .plt PROGBITS 00000140 000140 000020 10 AX 0 0 16 + \[ 7\] .text PROGBITS 00000160 000160 00000b 00 AX 0 0 1 + \[ 8\] .dynamic DYNAMIC 0020016c 00016c 000090 08 WA 3 0 4 + \[ 9\] .got PROGBITS 00200200 000200 000008 08 WA 0 0 8 + \[10\] .got.plt PROGBITS 00200208 000208 000020 08 WA 0 0 8 + \[11\] .symtab SYMTAB 00000000 000228 000060 10 12 3 4 + \[12\] .strtab STRTAB 00000000 000288 00002d 00 0 0 1 + \[13\] .shstrtab STRTAB 00000000 0002b5 000062 00 0 0 1 +Key to Flags: + W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), I \(info\), + L \(link order\), O \(extra OS processing required\), G \(group\), T \(TLS\), + C \(compressed\), x \(unknown\), o \(OS specific\), E \(exclude\), + D \(mbind\), l \(large\), p \(processor specific\) + +There are no section groups in this file. + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD 0x000000 0x00000000 0x00000000 0x0016b 0x0016b R E 0x200000 + LOAD 0x00016c 0x0020016c 0x0020016c 0x000bc 0x000bc RW 0x200000 + DYNAMIC 0x00016c 0x0020016c 0x0020016c 0x00090 0x00090 RW 0x4 + GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 + + Section to Segment mapping: + Segment Sections... + 00 .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text + 01 .dynamic .got .got.plt + 02 .dynamic + 03 + +Dynamic section at offset 0x16c contains 13 entries: + Tag Type Name/Value + 0x00000004 \(HASH\) 0xb4 + 0x00000005 \(STRTAB\) 0x118 + 0x00000006 \(SYMTAB\) 0xd8 + 0x0000000a \(STRSZ\) 14 \(bytes\) + 0x0000000b \(SYMENT\) 16 \(bytes\) + 0x00000003 \(PLTGOT\) 0x200208 + 0x00000002 \(PLTRELSZ\) 12 \(bytes\) + 0x00000014 \(PLTREL\) RELA + 0x00000017 \(JMPREL\) 0x134 + 0x00000007 \(RELA\) 0x128 + 0x00000008 \(RELASZ\) 12 \(bytes\) + 0x00000009 \(RELAENT\) 12 \(bytes\) + 0x00000000 \(NULL\) 0x0 + +Relocation section '.rela.dyn' at offset 0x128 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name \+ Addend +0+200200 00000206 R_X86_64_GLOB_DAT 00000000 foo \+ 0 + +Relocation section '.rela.plt' at offset 0x134 contains 1 entry: + Offset Info Type Sym. Value Symbol's Name \+ Addend +0+200220 00000307 R_X86_64_JUMP_SLOT 00000000 bar \+ 0 +No processor specific unwind information to decode + +Symbol table '.dynsym' contains 4 entries: + Num: Value Size Type Bind Vis Ndx Name + +[a-f0-9]+: 00000000 0 NOTYPE LOCAL DEFAULT UND + +[a-f0-9]+: 00000160 0 FUNC GLOBAL DEFAULT 7 func + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND foo + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND bar + +Symbol table '.symtab' contains 6 entries: + Num: Value Size Type Bind Vis Ndx Name + +[a-f0-9]+: 00000000 0 NOTYPE LOCAL DEFAULT UND + +[a-f0-9]+: 0020016c 0 OBJECT LOCAL DEFAULT 8 _DYNAMIC + +[a-f0-9]+: 00200208 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ + +[a-f0-9]+: 00000160 0 FUNC GLOBAL DEFAULT 7 func + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND foo + +[a-f0-9]+: 00000000 0 NOTYPE GLOBAL DEFAULT UND bar + +Histogram for bucket list length \(total of 3 buckets\): + Length Number % of total Coverage + 0 1 \( 33.3%\) + 1 1 \( 33.3%\) 33.3% + 2 1 \( 33.3%\) 100.0% + +No version information found in this file. + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200200 R_X86_64_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200208 20016c + +[0-9]+: 00200210 0 + +[0-9]+: 00200218 0 + +[0-9]+: 00200220 R_X86_64_JUMP_SLOT bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1b.rd b/ld/testsuite/ld-x86-64/libgot-1b.rd new file mode 100644 index 0000000..18e4324 --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1b.rd @@ -0,0 +1,119 @@ +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: Advanced Micro Devices X86-64 + Version: 0x1 + Entry point address: 0x0 + Start of program headers: 64 \(bytes into file\) + Start of section headers: 1160 \(bytes into file\) + Flags: 0x0 + Size of this header: 64 \(bytes\) + Size of program headers: 56 \(bytes\) + Number of program headers: 4 + Size of section headers: 64 \(bytes\) + Number of section headers: 14 + Section header string table index: 13 + +Section Headers: + \[Nr\] Name Type Address Off Size ES Flg Lk Inf Al + \[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0 + \[ 1\] .hash HASH 0000000000000120 000120 000024 04 A 2 0 8 + \[ 2\] .dynsym DYNSYM 0000000000000148 000148 000060 18 A 3 1 8 + \[ 3\] .dynstr STRTAB 00000000000001a8 0001a8 00000e 00 A 0 0 1 + \[ 4\] .rela.dyn RELA 00000000000001b8 0001b8 000018 18 A 2 0 8 + \[ 5\] .rela.plt RELA 00000000000001d0 0001d0 000018 18 AI 2 10 8 + \[ 6\] .plt PROGBITS 00000000000001f0 0001f0 000020 10 AX 0 0 16 + \[ 7\] .text PROGBITS 0000000000000210 000210 00000b 00 AX 0 0 1 + \[ 8\] .dynamic DYNAMIC 0000000000200220 000220 000120 10 WA 3 0 8 + \[ 9\] .got PROGBITS 0000000000200340 000340 000008 08 WA 0 0 8 + \[10\] .got.plt PROGBITS 0000000000200348 000348 000020 08 WA 0 0 8 + \[11\] .symtab SYMTAB 0000000000000000 000368 000090 18 12 3 8 + \[12\] .strtab STRTAB 0000000000000000 0003f8 00002d 00 0 0 1 + \[13\] .shstrtab STRTAB 0000000000000000 000425 000062 00 0 0 1 +Key to Flags: + W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), I \(info\), + L \(link order\), O \(extra OS processing required\), G \(group\), T \(TLS\), + C \(compressed\), x \(unknown\), o \(OS specific\), E \(exclude\), + D \(mbind\), l \(large\), p \(processor specific\) + +There are no section groups in this file. + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x00021b 0x00021b R E 0x200000 + LOAD 0x000220 0x0000000000200220 0x0000000000200220 0x000148 0x000148 RW 0x200000 + DYNAMIC 0x000220 0x0000000000200220 0x0000000000200220 0x000120 0x000120 RW 0x8 + GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 + + Section to Segment mapping: + Segment Sections... + 00 .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text + 01 .dynamic .got .got.plt + 02 .dynamic + 03 + +Dynamic section at offset 0x220 contains 13 entries: + Tag Type Name/Value + 0x0000000000000004 \(HASH\) 0x120 + 0x0000000000000005 \(STRTAB\) 0x1a8 + 0x0000000000000006 \(SYMTAB\) 0x148 + 0x000000000000000a \(STRSZ\) 14 \(bytes\) + 0x000000000000000b \(SYMENT\) 24 \(bytes\) + 0x0000000000000003 \(PLTGOT\) 0x200348 + 0x0000000000000002 \(PLTRELSZ\) 24 \(bytes\) + 0x0000000000000014 \(PLTREL\) RELA + 0x0000000000000017 \(JMPREL\) 0x1d0 + 0x0000000000000007 \(RELA\) 0x1b8 + 0x0000000000000008 \(RELASZ\) 24 \(bytes\) + 0x0000000000000009 \(RELAENT\) 24 \(bytes\) + 0x0000000000000000 \(NULL\) 0x0 + +Relocation section '.rela.dyn' at offset 0x1b8 contains 1 entry: + Offset Info Type Symbol's Value Symbol's Name \+ Addend +0+200340 0000000200000006 R_X86_64_GLOB_DAT 0000000000000000 foo \+ 0 + +Relocation section '.rela.plt' at offset 0x1d0 contains 1 entry: + Offset Info Type Symbol's Value Symbol's Name \+ Addend +0+200360 0000000300000007 R_X86_64_JUMP_SLOT 0000000000000000 bar \+ 0 +No processor specific unwind information to decode + +Symbol table '.dynsym' contains 4 entries: + Num: Value Size Type Bind Vis Ndx Name + +[a-f0-9]+: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND + +[a-f0-9]+: 0000000000000210 0 FUNC GLOBAL DEFAULT 7 func + +[a-f0-9]+: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND foo + +[a-f0-9]+: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar + +Symbol table '.symtab' contains 6 entries: + Num: Value Size Type Bind Vis Ndx Name + +[a-f0-9]+: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND + +[a-f0-9]+: 0000000000200220 0 OBJECT LOCAL DEFAULT 8 _DYNAMIC + +[a-f0-9]+: 0000000000200348 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ + +[a-f0-9]+: 0000000000000210 0 FUNC GLOBAL DEFAULT 7 func + +[a-f0-9]+: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND foo + +[a-f0-9]+: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar + +Histogram for bucket list length \(total of 3 buckets\): + Length Number % of total Coverage + 0 1 \( 33.3%\) + 1 1 \( 33.3%\) 33.3% + 2 1 \( 33.3%\) 100.0% + +No version information found in this file. + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 0000000000200340 R_X86_64_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 0000000000200348 200220 + +[0-9]+: 0000000000200350 0 + +[0-9]+: 0000000000200358 0 + +[0-9]+: 0000000000200360 R_X86_64_JUMP_SLOT bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1c-x32.rd b/ld/testsuite/ld-x86-64/libgot-1c-x32.rd new file mode 100644 index 0000000..a3bdacf --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1c-x32.rd @@ -0,0 +1,12 @@ + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200200 R_X86_64_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200208 20016c + +[0-9]+: 00200210 0 + +[0-9]+: 00200218 0 + +[0-9]+: 00200220 R_X86_64_JUMP_SLO bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1c.rd b/ld/testsuite/ld-x86-64/libgot-1c.rd new file mode 100644 index 0000000..fc1a260 --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1c.rd @@ -0,0 +1,12 @@ + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 000000200340 R_X86_64_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 000000200348 200220 + +[0-9]+: 000000200350 0 + +[0-9]+: 000000200358 0 + +[0-9]+: 000000200360 R_X86_64_JUMP_SLO bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1d-x32.rd b/ld/testsuite/ld-x86-64/libgot-1d-x32.rd new file mode 100644 index 0000000..3e2693e --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1d-x32.rd @@ -0,0 +1,12 @@ + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200200 R_X86_64_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 00200208 20016c + +[0-9]+: 00200210 0 + +[0-9]+: 00200218 0 + +[0-9]+: 00200220 R_X86_64_JUMP_SLOT bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/libgot-1d.rd b/ld/testsuite/ld-x86-64/libgot-1d.rd new file mode 100644 index 0000000..341840e --- /dev/null +++ b/ld/testsuite/ld-x86-64/libgot-1d.rd @@ -0,0 +1,12 @@ + +Global Offset Table '.got' contains 1 entry: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 0000000000200340 R_X86_64_GLOB_DAT foo \+ 0 + +Global Offset Table '.got.plt' contains 4 entries: + Index: Address Reloc Sym. Name \+ Addend/Value + +[0-9]+: 0000000000200348 200220 + +[0-9]+: 0000000000200350 0 + +[0-9]+: 0000000000200358 0 + +[0-9]+: 0000000000200360 R_X86_64_JUMP_SLOT bar \+ 0 +#pass diff --git a/ld/testsuite/ld-x86-64/mark-plt-1a.rd b/ld/testsuite/ld-x86-64/mark-plt-1a.rd index 1234fbe..b0ed702 100644 --- a/ld/testsuite/ld-x86-64/mark-plt-1a.rd +++ b/ld/testsuite/ld-x86-64/mark-plt-1a.rd @@ -3,5 +3,5 @@ Version needs section '.gnu.version_r' contains 1 entry: Addr: 0x[0-9a-f]+ +Offset: 0x[0-9a-f]+ +Link: +[0-9]+ +\(.dynstr\) +0+: Version: 1 +File: libc\.so\.6(|\.1) +Cnt: +[0-9]+ #... - 0x[a-f0-9]+: Name: GLIBC_2.36 Flags: none Version: [0-9]+ + 0x[a-f0-9]+: Name: (GLIBC_2.36|GLIBC_ABI_DT_X86_64_PLT) Flags: none Version: [0-9]+ #pass diff --git a/ld/testsuite/ld-x86-64/mark-plt-2.rd b/ld/testsuite/ld-x86-64/mark-plt-2.rd new file mode 100644 index 0000000..b0ed702 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mark-plt-2.rd @@ -0,0 +1,7 @@ +#... +Version needs section '.gnu.version_r' contains 1 entry: + Addr: 0x[0-9a-f]+ +Offset: 0x[0-9a-f]+ +Link: +[0-9]+ +\(.dynstr\) + +0+: Version: 1 +File: libc\.so\.6(|\.1) +Cnt: +[0-9]+ +#... + 0x[a-f0-9]+: Name: (GLIBC_2.36|GLIBC_ABI_DT_X86_64_PLT) Flags: none Version: [0-9]+ +#pass diff --git a/ld/testsuite/ld-x86-64/mark-plt-2.s b/ld/testsuite/ld-x86-64/mark-plt-2.s new file mode 100644 index 0000000..c816567 --- /dev/null +++ b/ld/testsuite/ld-x86-64/mark-plt-2.s @@ -0,0 +1,13 @@ + .text + .globl foo + .type foo, @function +foo: + subq $8, %rsp + leaq xxx@TLSDESC(%rip), %rax + .nops 10 + call *xxx@TLSCALL(%rax) + movl %fs:(%rax), %eax + addq $8, %rsp + call bar + ret + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/no-plt-1a.dd b/ld/testsuite/ld-x86-64/no-plt-1a.dd index b1d5d7e..89bfaa1 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1a.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1a.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <get_func> +[a-f0-9]+: 48 81 f8 ([0-9a-f]{2} ){4}[ ]+cmp \$0x[0-9a-f]+,%rax - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <func_p> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) c7 c2 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +\$0x[0-9a-f]+,%(e|r)dx + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-1b.dd b/ld/testsuite/ld-x86-64/no-plt-1b.dd index 2ab8da5..1f430b8 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1b.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1b.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: ff 15 ([0-9a-f]{2} ){4}[ ]+call \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <.*> +[a-f0-9]+: 48 3b 05 ([0-9a-f]{2} ){4}[ ]+cmp 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <.*> - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <.*> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) 8b 15 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +0x[0-9a-f]+\(%rip\),%(e|r)dx +# [a-f0-9]+ <.*> + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: ff 15 ([0-9a-f]{2} ){4}[ ]+call \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <.*> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-1c.dd b/ld/testsuite/ld-x86-64/no-plt-1c.dd index 1f6ea27..ef772af 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1c.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1c.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: ff 15 ([0-9a-f]{2} ){4}[ ]+call \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <.*> +[a-f0-9]+: 48 81 f8 ([0-9a-f]{2} ){4}[ ]+cmp \$0x[0-9a-f]+,%rax - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <.*> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) 8b 15 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +0x[0-9a-f]+\(%rip\),%(e|r)dx +# [a-f0-9]+ <.*> + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-1d.dd b/ld/testsuite/ld-x86-64/no-plt-1d.dd index 49f34ad..cd500bd 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1d.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1d.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <get_func> +[a-f0-9]+: 48 81 f8 ([0-9a-f]{2} ){4}[ ]+cmp \$0x[0-9a-f]+,%rax - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <func_p> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) c7 c2 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +\$0x[0-9a-f]+,%(e|r)dx + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-1e.dd b/ld/testsuite/ld-x86-64/no-plt-1e.dd index 465574f..0180dd3 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1e.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1e.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <get_func> +[a-f0-9]+: 48 3b 05 ([0-9a-f]{2} ){4}[ ]+cmp 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <.*> - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <func_p> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) 8d 15 ([0-9a-f]{2} ){4}[ ]+(rex |)lea +0x[0-9a-f]+\(%rip\),%(e|r)dx +# [a-f0-9]+ <func_p> + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-1f.dd b/ld/testsuite/ld-x86-64/no-plt-1f.dd index 2ab8da5..1f430b8 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1f.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1f.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: ff 15 ([0-9a-f]{2} ){4}[ ]+call \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <.*> +[a-f0-9]+: 48 3b 05 ([0-9a-f]{2} ){4}[ ]+cmp 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <.*> - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <.*> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) 8b 15 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +0x[0-9a-f]+\(%rip\),%(e|r)dx +# [a-f0-9]+ <.*> + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: ff 15 ([0-9a-f]{2} ){4}[ ]+call \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <.*> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-1g.dd b/ld/testsuite/ld-x86-64/no-plt-1g.dd index 0526fb0..b6adc0d 100644 --- a/ld/testsuite/ld-x86-64/no-plt-1g.dd +++ b/ld/testsuite/ld-x86-64/no-plt-1g.dd @@ -10,8 +10,9 @@ Disassembly of section .text: +[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp +[a-f0-9]+: ff 15 ([0-9a-f]{2} ){4}[ ]+call \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <.*> +[a-f0-9]+: 48 3b 05 ([0-9a-f]{2} ){4}[ ]+cmp 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <.*> - +[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+> - +[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <.*> + +[a-f0-9]+: 75 37 jne [0-9a-f]+ <check\+0x[0-9a-f]+> + +[a-f0-9]+: 4(0|8) 8b 15 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +0x[0-9a-f]+\(%rip\),%(e|r)dx +# [a-f0-9]+ <.*> + +[a-f0-9]+: (48|67) 39 02[ ]+cmp +%(e|r)ax,\(%(e|r)dx\) +[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+> +[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <func> +[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax diff --git a/ld/testsuite/ld-x86-64/no-plt-check1.S b/ld/testsuite/ld-x86-64/no-plt-check1.S index 61d32b1..4526e5e 100644 --- a/ld/testsuite/ld-x86-64/no-plt-check1.S +++ b/ld/testsuite/ld-x86-64/no-plt-check1.S @@ -11,10 +11,12 @@ check: cmpq func@GOTPCREL(%rip), %rax jne .L3 #ifdef __LP64__ - cmpq %rax, func_p(%rip) + movq func_p@GOTPCREL(%rip), %rdx + cmpq %rax, (%rdx) #else rex - cmpl %eax, func_p(%rip) + movl func_p@GOTPCREL(%rip), %edx + cmpl %eax, (%edx) #endif jne .L3 call *func@GOTPCREL(%rip) diff --git a/ld/testsuite/ld-x86-64/no-plt.exp b/ld/testsuite/ld-x86-64/no-plt.exp index e78d09a..eb63670 100644 --- a/ld/testsuite/ld-x86-64/no-plt.exp +++ b/ld/testsuite/ld-x86-64/no-plt.exp @@ -70,7 +70,7 @@ run_cc_link_tests [list \ "libno-plt-1b.so" \ ] \ [list \ - "No PLT (dynamic 1a)" \ + "Build no PLT (dynamic 1a)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \ "-Wa,-mx86-used-note=yes" \ @@ -79,7 +79,7 @@ run_cc_link_tests [list \ "no-plt-1a" \ ] \ [list \ - "No PLT (dynamic 1b)" \ + "Build no PLT (dynamic 1b)" \ "tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -88,7 +88,7 @@ run_cc_link_tests [list \ "no-plt-1b" \ ] \ [list \ - "No PLT (dynamic 1c)" \ + "Build no PLT (dynamic 1c)" \ "$NOPIE_LDFLAGS tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -97,7 +97,7 @@ run_cc_link_tests [list \ "no-plt-1c" \ ] \ [list \ - "No PLT (static 1d)" \ + "Build no PLT (static 1d)" \ "-static tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \ "-Wa,-mx86-used-note=yes" \ @@ -106,7 +106,7 @@ run_cc_link_tests [list \ "no-plt-1d" \ ] \ [list \ - "No PLT (PIE 1e)" \ + "Build no PLT (PIE 1e)" \ "-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \ "-Wa,-mx86-used-note=yes" \ @@ -115,7 +115,7 @@ run_cc_link_tests [list \ "no-plt-1e" \ ] \ [list \ - "No PLT (PIE 1f)" \ + "Build no PLT (PIE 1f)" \ "-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -124,7 +124,7 @@ run_cc_link_tests [list \ "no-plt-1f" \ ] \ [list \ - "No PLT (PIE 1g)" \ + "Build no PLT (PIE 1g)" \ "-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -136,7 +136,7 @@ run_cc_link_tests [list \ run_ld_link_exec_tests [list \ [list \ - "No PLT (dynamic 1a)" \ + "Run no PLT (dynamic 1a)" \ "tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \ "-Wa,-mx86-used-note=yes" \ @@ -145,7 +145,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (dynamic 1b)" \ + "Run no PLT (dynamic 1b)" \ "tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -154,7 +154,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (dynamic 1c)" \ + "Run no PLT (dynamic 1c)" \ "tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -163,7 +163,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (static 1d)" \ + "Run no PLT (static 1d)" \ "-static tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \ "-Wa,-mx86-used-note=yes" \ @@ -172,7 +172,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (PIE 1e)" \ + "Run no PLT (PIE 1e)" \ "-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \ "-Wa,-mx86-used-note=yes" \ @@ -181,7 +181,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (PIE 1f)" \ + "Run no PLT (PIE 1f)" \ "-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ @@ -190,7 +190,7 @@ run_ld_link_exec_tests [list \ "pass.out" \ ] \ [list \ - "No PLT (PIE 1g)" \ + "Run no PLT (PIE 1g)" \ "-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \ tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \ "-Wa,-mx86-used-note=yes" \ diff --git a/ld/testsuite/ld-x86-64/pr28387-x32.d b/ld/testsuite/ld-x86-64/pr28387-x32.d new file mode 100644 index 0000000..0302126 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr28387-x32.d @@ -0,0 +1,36 @@ +#source: pr28387.s +#as: --x32 +#ld: -shared -melf32_x86_64 -z nocombreloc -z nomark-plt -z noseparate-code -z max-page-size=0x200000 --no-ld-generated-unwind-info --hash-style=sysv +#readelf: -d -r -S --wide + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al +#... + +\[[ 0-9]+\] .rela.data +RELA +0+128 0+128 0+c 0c +AI +2 +12 +4 + +\[[ 0-9]+\] .rela.tls +RELA +0+134 0+134 0+c 0c +AI +2 +11 +4 + +\[[ 0-9]+\] .rela.plt +RELA +0+140 0+140 0+c 0c +AI +2 +11 +4 +#... +Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries: + +Tag +Type +Name/Value +#... + 0x[0-9a-f]+ +\(PLTRELSZ\) +12 \(bytes\) + 0x[0-9a-f]+ +\(PLTREL\) +RELA + 0x[0-9a-f]+ +\(JMPREL\) +0x140 +#... + 0x[0-9a-f]+ +\(RELA\) +0x128 + 0x[0-9a-f]+ +\(RELASZ\) +24 \(bytes\) + 0x[0-9a-f]+ +\(RELAENT\) +12 \(bytes\) +#... +Relocation section '.rela.data' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +0+ +foo \+ 0 + +Relocation section '.rela.tls' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_TLSDESC +0+ +foo \+ 0 + +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +bar \+ 0 diff --git a/ld/testsuite/ld-x86-64/pr28387.d b/ld/testsuite/ld-x86-64/pr28387.d new file mode 100644 index 0000000..07df0fb --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr28387.d @@ -0,0 +1,35 @@ +#as: --64 +#ld: -shared -melf_x86_64 -z nocombreloc -z nomark-plt -z noseparate-code -z max-page-size=0x200000 --no-ld-generated-unwind-info --hash-style=sysv +#readelf: -d -r -S --wide + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al +#... + +\[[ 0-9]+\] .rela.data +RELA +0+1b8 0+1b8 0+18 18 +AI +2 +12 +8 + +\[[ 0-9]+\] .rela.tls +RELA +0+1d0 0+1d0 0+18 18 +AI +2 +11 +8 + +\[[ 0-9]+\] .rela.plt +RELA +0+1e8 0+1e8 0+18 18 +AI +2 +11 +8 +#... +Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries: + +Tag +Type +Name/Value +#... + 0x[0-9a-f]+ +\(PLTRELSZ\) +24 \(bytes\) + 0x[0-9a-f]+ +\(PLTREL\) +RELA + 0x[0-9a-f]+ +\(JMPREL\) +0x1e8 +#... + 0x[0-9a-f]+ +\(RELA\) +0x1b8 + 0x[0-9a-f]+ +\(RELASZ\) +48 \(bytes\) + 0x[0-9a-f]+ +\(RELAENT\) +24 \(bytes\) +#... +Relocation section '.rela.data' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +0+ +foo \+ 0 + +Relocation section '.rela.tls' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_TLSDESC +0+ +foo \+ 0 + +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry: + +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +bar \+ 0 diff --git a/ld/testsuite/ld-x86-64/pr28387.s b/ld/testsuite/ld-x86-64/pr28387.s new file mode 100644 index 0000000..bbfa7b5 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr28387.s @@ -0,0 +1,11 @@ + .text + .globl main + .type main, @function +main: + leaq foo@TLSDESC(%rip), %rax + call *foo@TLSCALL(%rax) + call bar@PLT + ret + .data + .dc.a foo + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/pr33260-2-x32.d b/ld/testsuite/ld-x86-64/pr33260-2-x32.d new file mode 100644 index 0000000..383129a --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33260-2-x32.d @@ -0,0 +1,6 @@ +#source: pr33260-2.s +#as: -mrelax-relocations=yes --x32 +#ld: -melf32_x86_64 -shared +#readelf: -r --wide + +There are no relocations in this file. diff --git a/ld/testsuite/ld-x86-64/pr33260-2.d b/ld/testsuite/ld-x86-64/pr33260-2.d new file mode 100644 index 0000000..7f237c8 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33260-2.d @@ -0,0 +1,6 @@ +#source: pr33260-2.s +#as: -mrelax-relocations=yes --64 +#ld: -melf_x86_64 -shared +#readelf: -r --wide + +There are no relocations in this file. diff --git a/ld/testsuite/ld-x86-64/pr33260-2.s b/ld/testsuite/ld-x86-64/pr33260-2.s new file mode 100644 index 0000000..061137d --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33260-2.s @@ -0,0 +1,19 @@ + .text + .p2align 4 + .globl my_func + .type my_func, @function +my_func: + .cfi_startproc + movq my_data@GOTPCREL(%rip), %rax + ret + .cfi_endproc + .size my_func, .-my_func + .protected my_data + .globl my_data + .bss + .align 4 + .type my_data, @object + .size my_data, 4 +my_data: + .zero 4 + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/pr33260-x32.d b/ld/testsuite/ld-x86-64/pr33260-x32.d new file mode 100644 index 0000000..42088fb --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33260-x32.d @@ -0,0 +1,9 @@ +#source: pr33260.s +#as: -mrelax-relocations=yes --x32 +#ld: -melf32_x86_64 -shared +#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_RELATIVE +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+ diff --git a/ld/testsuite/ld-x86-64/pr33260.d b/ld/testsuite/ld-x86-64/pr33260.d new file mode 100644 index 0000000..18b5472 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33260.d @@ -0,0 +1,9 @@ +#source: pr33260.s +#as: -mrelax-relocations=yes --64 -defsym __x86_64__=1 +#ld: -melf_x86_64 -shared +#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_RELATIVE +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+ diff --git a/ld/testsuite/ld-x86-64/pr33260.s b/ld/testsuite/ld-x86-64/pr33260.s new file mode 100644 index 0000000..e48c3ce --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33260.s @@ -0,0 +1,40 @@ + .text + .p2align 4 + .globl my_func + .protected my_func + .type my_func, @function +my_func: + .cfi_startproc + ret + .cfi_endproc + .size my_func, .-my_func + .p2align 4 + .globl f + .type f, @function +f: + .cfi_startproc + leaq vtable(%rip), %rax + ret + .cfi_endproc + .size f, .-f + .section .data.rel,"aw" + .type vtable, @object +.ifdef __x86_64__ + .align 16 + .size vtable, 16 +.else + .align 8 + .size vtable, 8 +.endif +vtable: + .dc.a my_func + .dc.a my_data + .protected my_data + .globl my_data + .bss + .align 4 + .type my_data, @object + .size my_data, 4 +my_data: + .zero 4 + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/pr33292-x32.d b/ld/testsuite/ld-x86-64/pr33292-x32.d new file mode 100644 index 0000000..0d6cf81 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33292-x32.d @@ -0,0 +1,10 @@ +#source: pr33292.s +#as: --x32 -mx86-used-note=yes +#ld: -shared -m elf32_x86_64 -z noindirect-extern-access +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr33292.d b/ld/testsuite/ld-x86-64/pr33292.d new file mode 100644 index 0000000..456b849 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33292.d @@ -0,0 +1,9 @@ +#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes +#ld: -shared -m elf_x86_64 -z noindirect-extern-access +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr33292.s b/ld/testsuite/ld-x86-64/pr33292.s new file mode 100644 index 0000000..8d14e88 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr33292.s @@ -0,0 +1,34 @@ + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length */ + .long 5f - 2f /* data length */ + .long 5 /* note type */ +0: .asciz "GNU" /* vendor name */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +2: .long 0xb0008000 /* pr_type. */ + .long 4f - 3f /* pr_datasz. */ +3: + .long 0x1 +4: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +5: + + .text + .globl foo + .type foo, @function +foo: + ret + .section .note.GNU-stack diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-1-x32.d b/ld/testsuite/ld-x86-64/tls-le-pic-1-x32.d new file mode 100644 index 0000000..29df9ec --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-1-x32.d @@ -0,0 +1,4 @@ +#source: tls-le-pic-1.s +#as: --x32 +#ld: -shared -melf32_x86_64 +#error: .*: relocation R_X86_64_TPOFF32 against symbol `foo' can not be used when making a shared object; local-exec is incompatible with -shared diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-1.d b/ld/testsuite/ld-x86-64/tls-le-pic-1.d new file mode 100644 index 0000000..9726c5c --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-1.d @@ -0,0 +1,3 @@ +#as: --64 +#ld: -shared -melf_x86_64 +#error: .*: relocation R_X86_64_TPOFF32 against symbol `foo' can not be used when making a shared object; local-exec is incompatible with -shared diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-1.s b/ld/testsuite/ld-x86-64/tls-le-pic-1.s new file mode 100644 index 0000000..ffc8e63 --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-1.s @@ -0,0 +1,17 @@ + .text + .p2align 4 + .globl func + .type func, @function +func: + movq %fs:0, %rax + addq $foo@tpoff, %rax + ret + .size func, .-func + .section .tbss,"awT",@nobits + .align 4 + .globl foo + .type foo, @object + .size foo, 4 +foo: + .zero 4 + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-2-x32.d b/ld/testsuite/ld-x86-64/tls-le-pic-2-x32.d new file mode 100644 index 0000000..b4ebf5a --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-2-x32.d @@ -0,0 +1,4 @@ +#source: tls-le-pic-2.s +#as: --x32 +#ld: -shared -melf32_x86_64 +#error: .*: relocation R_X86_64_TPOFF32 against undefined symbol `foo' can not be used when making a shared object; local-exec is incompatible with -shared diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-2.d b/ld/testsuite/ld-x86-64/tls-le-pic-2.d new file mode 100644 index 0000000..90ca634 --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-2.d @@ -0,0 +1,3 @@ +#as: --64 +#ld: -shared -melf_x86_64 +#error: .*: relocation R_X86_64_TPOFF32 against undefined symbol `foo' can not be used when making a shared object; local-exec is incompatible with -shared diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-2.s b/ld/testsuite/ld-x86-64/tls-le-pic-2.s new file mode 100644 index 0000000..ad930db --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-2.s @@ -0,0 +1,10 @@ + .text + .p2align 4 + .globl func + .type func, @function +func: + movq %fs:0, %rax + addq $foo@tpoff, %rax + ret + .size func, .-func + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-3-x32.d b/ld/testsuite/ld-x86-64/tls-le-pic-3-x32.d new file mode 100644 index 0000000..ed832e4 --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-3-x32.d @@ -0,0 +1,4 @@ +#source: tls-le-pic-3.s +#as: --x32 +#ld: -shared -melf32_x86_64 +#error: .*: relocation R_X86_64_TPOFF32 against `foo' can not be used when making a shared object; local-exec is incompatible with -shared diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-3.d b/ld/testsuite/ld-x86-64/tls-le-pic-3.d new file mode 100644 index 0000000..8497067 --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-3.d @@ -0,0 +1,3 @@ +#as: --64 +#ld: -shared -melf_x86_64 +#error: .*: relocation R_X86_64_TPOFF32 against `foo' can not be used when making a shared object; local-exec is incompatible with -shared diff --git a/ld/testsuite/ld-x86-64/tls-le-pic-3.s b/ld/testsuite/ld-x86-64/tls-le-pic-3.s new file mode 100644 index 0000000..6e213fd --- /dev/null +++ b/ld/testsuite/ld-x86-64/tls-le-pic-3.s @@ -0,0 +1,16 @@ + .text + .p2align 4 + .globl func + .type func, @function +func: + movq %fs:0, %rax + addq $foo@tpoff, %rax + ret + .size func, .-func + .section .tbss,"awT",@nobits + .align 4 + .type foo, @object + .size foo, 4 +foo: + .zero 4 + .section .note.GNU-stack,"",@progbits diff --git a/ld/testsuite/ld-x86-64/tlsdesc.pd b/ld/testsuite/ld-x86-64/tlsdesc.pd index 490fc90..7e124ea 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.pd +++ b/ld/testsuite/ld-x86-64/tlsdesc.pd @@ -10,10 +10,10 @@ Disassembly of section .plt: [0-9a-f]+ <.plt>: - [0-9a-f]+: ff 35 .. .. 20 00 push .*\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> - [0-9a-f]+: ff 25 .. .. 20 00 jmp \*.*\(%rip\) # 201360 <_GLOBAL_OFFSET_TABLE_\+0x10> + [0-9a-f]+: ff 35 .. .. 20 00 push .*\(%rip\) # 201328 <_GLOBAL_OFFSET_TABLE_\+0x8> + [0-9a-f]+: ff 25 .. .. 20 00 jmp \*.*\(%rip\) # 201330 <_GLOBAL_OFFSET_TABLE_\+0x10> [0-9a-f]+: 0f 1f 40 00 nopl 0x0\(%rax\) [0-9a-f]+: f3 0f 1e fa endbr64 - [0-9a-f]+: ff 35 .. .. 20 00 push .*\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> - [0-9a-f]+: ff 25 .. .. 20 00 jmp \*.*\(%rip\) # 201348 <.*> + [0-9a-f]+: ff 35 .. .. 20 00 push .*\(%rip\) # 201328 <_GLOBAL_OFFSET_TABLE_\+0x8> + [0-9a-f]+: ff 25 .. .. 20 00 jmp \*.*\(%rip\) # 201318 <.*> diff --git a/ld/testsuite/ld-x86-64/tlsdesc.rd b/ld/testsuite/ld-x86-64/tlsdesc.rd index 98bda5b..14e945a 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.rd +++ b/ld/testsuite/ld-x86-64/tlsdesc.rd @@ -14,14 +14,13 @@ Section Headers: +\[[ 0-9]+\] .dynsym +.* +\[[ 0-9]+\] .dynstr +.* +\[[ 0-9]+\] .rela.dyn +.* - +\[[ 0-9]+\] .rela.plt +.* +\[[ 0-9]+\] .plt +PROGBITS +0+3b0 0+3b0 0+20 10 +AX +0 +0 +(4|16) +\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+153 00 +AX +0 +0 4096 +\[[ 0-9]+\] .tdata +PROGBITS +0+201153 0+1153 0+60 00 WAT +0 +0 +1 +\[[ 0-9]+\] .tbss +NOBITS +0+2011b3 0+11b3 0+20 00 WAT +0 +0 +1 - +\[[ 0-9]+\] .dynamic +DYNAMIC +0+2011b8 0+11b8 0+150 10 +WA +3 +0 +8 - +\[[ 0-9]+\] .got +PROGBITS +0+201308 0+1308 0+48 08 +WA +0 +0 +8 - +\[[ 0-9]+\] .got.plt +PROGBITS +0+201350 0+1350 0+68 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+2011b8 0+11b8 0+120 10 +WA +3 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+2012d8 0+12d8 0+48 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+201320 0+1320 0+68 08 +WA +0 +0 +8 +\[[ 0-9]+\] .symtab +.* +\[[ 0-9]+\] .strtab +.* +\[[ 0-9]+\] .shstrtab +.* @@ -35,18 +34,18 @@ There are [0-9]+ program headers, starting at offset [0-9]+ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x200000 - +LOAD +0x0+1153 0x0+201153 0x0+201153 0x0+265 0x0+265 RW +0x200000 - +DYNAMIC +0x0+11b8 0x0+2011b8 0x0+2011b8 0x0+150 0x0+150 RW +0x8 + +LOAD +0x0+1153 0x0+201153 0x0+201153 0x0+235 0x0+235 RW +0x200000 + +DYNAMIC +0x0+11b8 0x0+2011b8 0x0+2011b8 0x0+120 0x0+120 RW +0x8 +TLS +0x0+1153 0x0+201153 0x0+201153 0x0+60 0x0+80 R +0x1 Section to Segment mapping: +Segment Sections... - +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text * + +00 +.hash .dynsym .dynstr .rela.dyn .plt .text * +01 +.tdata .dynamic .got .got.plt * +02 +.dynamic * +03 +.tdata .tbss * -Dynamic section at offset 0x[0-9a-f]+ contains 16 entries: +Dynamic section at offset 0x[0-9a-f]+ contains 13 entries: +Tag +Type +Name/Value 0x[0-9a-f]+ +\(HASH\).* 0x[0-9a-f]+ +\(STRTAB\).* @@ -54,87 +53,81 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries: 0x[0-9a-f]+ +\(STRSZ\).* 0x[0-9a-f]+ +\(SYMENT\).* 0x[0-9a-f]+ +\(PLTGOT\).* - 0x[0-9a-f]+ +\(PLTRELSZ\).* - 0x[0-9a-f]+ +\(PLTREL\).* - 0x[0-9a-f]+ +\(JMPREL\).* 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x3c0 - 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201348 + 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x201318 0x[0-9a-f]+ +\(RELA\).* 0x[0-9a-f]+ +\(RELASZ\).* 0x[0-9a-f]+ +\(RELAENT\).* 0x[0-9a-f]+ +\(FLAGS\).* 0x[0-9a-f]+ +\(NULL\).* -Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 13 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+201308 +[0-9a-f]+ R_X86_64_TPOFF64 +24 -0+201310 +[0-9a-f]+ R_X86_64_TPOFF64 +30 -0+201318 +[0-9a-f]+ R_X86_64_TPOFF64 +64 -0+201328 +[0-9a-f]+ R_X86_64_TPOFF64 +50 -0+201330 +[0-9a-f]+ R_X86_64_TPOFF64 +70 -0+201340 +[0-9a-f]+ R_X86_64_TPOFF64 +44 -0+201320 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 -0+201338 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 - -Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries: - +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+201398 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 -0+201368 +[0-9a-f]+ R_X86_64_TLSDESC +20 -0+2013a8 +[0-9a-f]+ R_X86_64_TLSDESC +40 -0+201378 +[0-9a-f]+ R_X86_64_TLSDESC +60 -0+201388 +[0-9a-f]+ R_X86_64_TLSDESC +0 +0+2012d8 +[0-9a-f]+ R_X86_64_TPOFF64 +24 +0+2012e0 +[0-9a-f]+ R_X86_64_TPOFF64 +30 +0+2012e8 +[0-9a-f]+ R_X86_64_TPOFF64 +64 +0+2012f8 +[0-9a-f]+ R_X86_64_TPOFF64 +50 +0+201300 +[0-9a-f]+ R_X86_64_TPOFF64 +70 +0+201310 +[0-9a-f]+ R_X86_64_TPOFF64 +44 +0+201338 +[0-9a-f]+ R_X86_64_TLSDESC +20 +0+201348 +[0-9a-f]+ R_X86_64_TLSDESC +60 +0+201358 +[0-9a-f]+ R_X86_64_TLSDESC +0 +0+201378 +[0-9a-f]+ R_X86_64_TLSDESC +40 +0+2012f0 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 +0+201308 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 +0+201368 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * - +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 - +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 - +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 - +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 - +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 - +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 - +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 - +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 + +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +6 fn1 + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * .* FILE +LOCAL +DEFAULT +ABS .*tlsdesc.o - +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +8 sl1 - +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +8 sl2 - +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +8 sl3 - +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +8 sl4 - +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +8 sl5 - +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +8 sl6 - +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 - +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1 + +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2 + +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3 + +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +7 sl4 + +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +7 sl5 + +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +7 sl6 + +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 + +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 .* FILE +LOCAL +DEFAULT +ABS - +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 - +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ - +[0-9]+: 0+2011b8 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC - +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 - +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 - +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 - +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +8 sh7 - +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +8 sh8 - +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +9 sH4 - +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +8 sh4 - +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +9 sH3 - +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +8 sh5 - +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +9 sH5 - +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 - +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 - +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 - +[0-9]+: 0+201350 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ - +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 - +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 - +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 - +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 - +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 - +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 - +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 - +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 - +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 - +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 + +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ + +[0-9]+: 0+2011b8 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC + +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +7 sh3 + +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +8 sH2 + +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +8 sH7 + +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +7 sh7 + +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +7 sh8 + +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +8 sH4 + +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +7 sh4 + +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +8 sH3 + +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +7 sh5 + +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +8 sH5 + +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +8 sH6 + +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +8 sH8 + +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +7 sh1 + +[0-9]+: 0+201320 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +7 sh2 + +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +7 sh6 + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 + +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +6 fn1 + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 diff --git a/ld/testsuite/ld-x86-64/tlsdesc2.d b/ld/testsuite/ld-x86-64/tlsdesc2.d index 8679757..d0f5ebf 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc2.d +++ b/ld/testsuite/ld-x86-64/tlsdesc2.d @@ -3,8 +3,8 @@ #ld: -melf_x86_64 -shared -z now #readelf: -d --wide -#... +#failif .*\(PLTRELSZ\).* .*\(PLTREL\).* .*\(JMPREL\).* -#pass +#... diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.rd b/ld/testsuite/ld-x86-64/tlsgdesc.rd index ca8f19b..ef15ce9 100644 --- a/ld/testsuite/ld-x86-64/tlsgdesc.rd +++ b/ld/testsuite/ld-x86-64/tlsgdesc.rd @@ -41,22 +41,22 @@ Program Headers: +01 +.dynamic .got .got.plt * +02 +.dynamic * -Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 10 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+100000012 R_X86_64_TPOFF64 +0+ sG3 \+ 0 [0-9a-f]+ +0+200000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 [0-9a-f]+ +0+300000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0 [0-9a-f]+ +0+300000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0 +[0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0 [0-9a-f]+ +0+400000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0 [0-9a-f]+ +0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 [0-9a-f]+ +0+800000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 [0-9a-f]+ +0+800000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 -Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries: +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend [0-9a-f]+ +0+500000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0 -[0-9a-f]+ +0+800000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 -[0-9a-f]+ +0+300000024 R_X86_64_TLSDESC +0+ sG2 \+ 0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff --git a/ld/testsuite/ld-x86-64/x86-64-64-export-class.rd b/ld/testsuite/ld-x86-64/x86-64-64-export-class.rd index 308e307..4a0bfa1 100644 --- a/ld/testsuite/ld-x86-64/x86-64-64-export-class.rd +++ b/ld/testsuite/ld-x86-64/x86-64-64-export-class.rd @@ -1,11 +1,11 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries: * Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend +000012340000 000000000008 R_X86_64_RELATIVE 123400a0 000012340010 000000000008 R_X86_64_RELATIVE 123400a0 000012340020 000000000008 R_X86_64_RELATIVE 123400a0 +000012340040 000000000008 R_X86_64_RELATIVE 123400a0 +000012340050 000000000008 R_X86_64_RELATIVE 123400a0 000012340060 000000000008 R_X86_64_RELATIVE 123400a0 000012340070 000000000008 R_X86_64_RELATIVE 123400a0 000012340080 000000000008 R_X86_64_RELATIVE 123400a0 000012340090 000000000008 R_X86_64_RELATIVE 123400a0 -000012340000 [0-9a-f]+00000001 R_X86_64_64 00000000123400a0 protected_baz \+ 0 -000012340040 [0-9a-f]+00000001 R_X86_64_64 00000000123400a0 protected_foo \+ 0 -000012340050 [0-9a-f]+00000001 R_X86_64_64 00000000123400a0 protected_bar \+ 0 diff --git a/ld/testsuite/ld-x86-64/x86-64-x32-export-class.rd b/ld/testsuite/ld-x86-64/x86-64-x32-export-class.rd index 4ea93ba..5018229 100644 --- a/ld/testsuite/ld-x86-64/x86-64-x32-export-class.rd +++ b/ld/testsuite/ld-x86-64/x86-64-x32-export-class.rd @@ -1,11 +1,11 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains [0-9]+ entries: * Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend +12340000 00000008 R_X86_64_RELATIVE 123400a0 12340010 00000008 R_X86_64_RELATIVE 123400a0 12340020 00000008 R_X86_64_RELATIVE 123400a0 +12340040 00000008 R_X86_64_RELATIVE 123400a0 +12340050 00000008 R_X86_64_RELATIVE 123400a0 12340060 00000008 R_X86_64_RELATIVE 123400a0 12340070 00000008 R_X86_64_RELATIVE 123400a0 12340080 00000008 R_X86_64_RELATIVE 123400a0 12340090 00000008 R_X86_64_RELATIVE 123400a0 -12340000 [0-9a-f]+0a R_X86_64_32 123400a0 protected_baz \+ 0 -12340040 [0-9a-f]+0a R_X86_64_32 123400a0 protected_foo \+ 0 -12340050 [0-9a-f]+0a R_X86_64_32 123400a0 protected_bar \+ 0 diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 3d873a7..f04ae92 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -534,6 +534,12 @@ run_dump_test "dt-relr-1a" run_dump_test "dt-relr-1a-x32" run_dump_test "dt-relr-1b" run_dump_test "dt-relr-1b-x32" +run_dump_test "dt-relr-1c" +run_dump_test "dt-relr-1c-x32" +run_dump_test "dt-relr-1d" +run_dump_test "dt-relr-1d-x32" +run_dump_test "dt-relr-2" +run_dump_test "dt-relr-2-x32" run_dump_test "pr30787" run_dump_test "pr31047" run_dump_test "pr31047-x32" @@ -564,6 +570,20 @@ run_dump_test "pr32591-3-x32" run_dump_test "pr32591-4" run_dump_test "pr32591-4-x32" run_dump_test "pr32809" +run_dump_test "pr33260" +run_dump_test "pr33260-x32" +run_dump_test "pr33260-2" +run_dump_test "pr33260-2-x32" +run_dump_test "pr33292" +run_dump_test "pr33292-x32" +run_dump_test "pr28387" +run_dump_test "pr28387-x32" +run_dump_test "tls-le-pic-1" +run_dump_test "tls-le-pic-1-x32" +run_dump_test "tls-le-pic-2" +run_dump_test "tls-le-pic-2-x32" +run_dump_test "tls-le-pic-3" +run_dump_test "tls-le-pic-3-x32" if { ![skip_sframe_tests] } { run_dump_test "sframe-simple-1" @@ -1001,7 +1021,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build pr17689.so" \ "-shared" \ - "-fPIC -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -fPIC -Wa,-mx86-used-note=yes" \ { pr17689a.c } \ {} \ "pr17689.so" \ @@ -1009,7 +1029,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build pr17689now.so with -z now" \ "-shared -Wl,-z,now" \ - "-fPIC -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -fPIC -Wa,-mx86-used-note=yes" \ { pr17689a.c } \ {{readelf {-Wr} pr17689now.rd}} \ "pr17689now.so" \ @@ -1017,30 +1037,30 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build pr17689b.o" \ "" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { pr17689b.S } \ {} \ ] \ [list \ "Build pr17689 with PIE without -fPIE" \ - "tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "-Wa,-mx86-used-note=yes" \ + "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,noindirect-extern-access" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { dummy.s } \ {{readelf {-Wr} pr17689.rd}} \ "pr17689" \ ] \ [list \ "Build pr17689 with PIE -z now without -fPIE" \ - "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \ - "-Wa,-mx86-used-note=yes" \ + "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now -Wl,-z,noindirect-extern-access" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { dummy.s } \ {{readelf {-Wr} pr17689now.rd}} \ "pr17689now" \ ] \ [list \ "Build pr17827 with PIE without -fPIE" \ - "-Wl,--as-needed tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \ - "-Wa,-mx86-used-note=yes" \ + "-Wl,--as-needed tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,noindirect-extern-access" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { dummy.s } \ {{readelf {-Wr} pr17827.rd}} \ "pr17827" \ @@ -1145,7 +1165,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build property 1 (.o)" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-no-copy.S} \ {{readelf {-n} property-1a.r}} \ "property-1.o" \ @@ -1169,7 +1189,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build property 2 (.o)" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {pass.c property-stack.S} \ {{readelf {-n} property-2a.r}} \ "property-2.o" \ @@ -1193,7 +1213,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build property-6.o" \ "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ {property-6b.c property-stack.S} \ {{readelf {-n} property-2a.r}} \ "property-6.o" \ @@ -1224,16 +1244,16 @@ if { [isnative] && [check_compiler_available] } { ] \ [list \ "Build pr22001-1.so" \ - "-shared" \ - "-fPIC -Wa,-mx86-used-note=yes" \ + "-shared -Wl,-z,noindirect-extern-access" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -fPIC -Wa,-mx86-used-note=yes" \ { pr22001-1a.c } \ {} \ "pr22001-1.so" \ ] \ [list \ "Build pr22001-1a" \ - "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed,-z,notext tmpdir/pr22001-1.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed,-z,notext,-z,noindirect-extern-access tmpdir/pr22001-1.so" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { pr22001-1b.c } \ {{error_output "pr22001-1a.err"}} \ "pr22001-1a" \ @@ -1241,7 +1261,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build pr21997-1.so" \ "-shared" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { property-stack.S property-no-copy.S pr21997-1a.S } \ {} \ "pr21997-1.so" \ @@ -1249,7 +1269,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build pr21997-1a" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,notext tmpdir/pr21997-1.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { pr21997-1b.c } \ {{error_output "pr21997-1a.err"}} \ "pr21997-1a" \ @@ -1395,7 +1415,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build protected-func-2 without PIE" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2b.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { protected-func-1b.c } \ {{error_output "pr28875-func.err"}} \ "protected-func-2" \ @@ -1411,7 +1431,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build protected-func-2a without PIE" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2c.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { protected-func-1b.c } \ {{error_output "pr28875-func.err"}} \ "protected-func-2a" \ @@ -1435,7 +1455,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build protected-data-1 without PIE" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-data-1b.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { protected-data-1b.c } \ {{error_output "pr28875-data.err"}} \ "protected-data-1" \ @@ -1529,7 +1549,7 @@ if { [isnative] && [check_compiler_available] } { { pr22001-1c.c } \ "pr22001-1b" \ "pass.out" \ - "$NOPIE_CFLAGS" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS" \ ] \ [list \ "Run pr25416-5a (GDesc -> IE -maddress-mode=short)" \ @@ -1597,8 +1617,8 @@ if { [isnative] && [check_compiler_available] } { run_cc_link_tests [list \ [list \ "Build pr22001-1b" \ - "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed,-z,notext tmpdir/pr22001-1.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed,-z,notext,-z,noindirect-extern-access tmpdir/pr22001-1.so" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { pr22001-1c.c } \ {{error_output "pr22001-1b.err"}} \ "pr22001-1b" \ @@ -1606,14 +1626,14 @@ if { [isnative] && [check_compiler_available] } { [list \ "Build pr21997-1b" \ "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,notext tmpdir/pr21997-1.so" \ - "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ { pr21997-1c.c } \ {{error_output "pr21997-1b.err"}} \ "pr21997-1b" \ ] \ [list \ "Build lam-u48.so" \ - "-shared -Wl,-z,lam-u48" \ + "-shared -Wl,-z,lam-u48,-z,noindirect-extern-access" \ "" \ {dummy.s} \ {{readelf -n lam-u48.rd}} \ @@ -1621,7 +1641,7 @@ if { [isnative] && [check_compiler_available] } { ] \ [list \ "Build lam-u57.so" \ - "-shared -Wl,-z,lam-u57" \ + "-shared -Wl,-z,lam-u57,-z,noindirect-extern-access" \ "" \ {dummy.s} \ {{readelf -n lam-u57.rd}} \ @@ -1653,23 +1673,23 @@ if { [isnative] && [check_compiler_available] } { [list \ "Run copyreloc-main with PIE without -fPIE" \ "-Wl,--as-needed -pie tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { dummy.s } \ "copyreloc-main" \ "copyreloc-main.out" \ ] \ [list \ "Run pr17689 with PIE without -fPIE" \ - "-Wl,--no-as-needed -pie tmpdir/pr17689b.o tmpdir/pr17689.so" \ - "-Wa,-mx86-used-note=yes" \ + "-Wl,--no-as-needed,-z,noindirect-extern-access -pie tmpdir/pr17689b.o tmpdir/pr17689.so" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { dummy.s } \ "pr17689" \ "pr17689.out" \ ] \ [list \ "Run pr17689 with PIE -z now without -fPIE" \ - "-Wl,--as-needed,-z,now -pie tmpdir/pr17689b.o tmpdir/pr17689.so" \ - "-Wa,-mx86-used-note=yes" \ + "-Wl,--as-needed,-z,now,-z,noindirect-extern-access -pie tmpdir/pr17689b.o tmpdir/pr17689.so" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { dummy.s } \ "pr17689now" \ "pr17689.out" \ @@ -1744,25 +1764,25 @@ if { [isnative] && [check_compiler_available] } { [list \ "Run pr22001-1a (PIC 1)" \ "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { pr22001-1b.c } \ "pr22001-1a-pic-1" \ "pass.out" \ - "-fPIC" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -fPIC" \ ] \ [list \ "Run pr22001-1a (PIC 2)" \ "-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { pr22001-1b.c } \ "pr22001-1a-pic-2" \ "pass.out" \ - "-fPIC" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -fPIC" \ ] \ [list \ "Run pr22001-1b (PIC 1)" \ "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { pr22001-1c.c } \ "pr22001-1b-pic-1" \ "pass.out" \ @@ -1771,7 +1791,7 @@ if { [isnative] && [check_compiler_available] } { [list \ "Run pr22001-1b (PIC 2)" \ "-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ - "-Wa,-mx86-used-note=yes" \ + "$DIRECT_EXTERN_ACCESS_CFLAGS -Wa,-mx86-used-note=yes" \ { pr22001-1c.c } \ "pr22001-1b-pic-2" \ "pass.out" \ @@ -2190,7 +2210,7 @@ if { [isnative] && [check_compiler_available] } { } } - undefined_weak "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" + undefined_weak "$DIRECT_EXTERN_ACCESS_CFLAGS $NOPIE_CFLAGS" "$NOPIE_LDFLAGS" undefined_weak "-fPIE" "$NOPIE_LDFLAGS" undefined_weak "-fPIE" "-pie" undefined_weak "-fPIE" "$NOPIE_LDFLAGS -Wl,-z,nodynamic-undefined-weak" @@ -2354,7 +2374,7 @@ run_dump_test "ibt-plt-3b-x32" run_dump_test "ibt-plt-3c-x32" run_dump_test "ibt-plt-3d-x32" -# Skip -z mark-plt tests on MUSL. +# Skip -z mark-plt and --gnu2-tls-tag tests on MUSL. if { [istarget "x86_64-*-musl*"]} { set ASFLAGS "$saved_ASFLAGS" return @@ -2380,6 +2400,30 @@ if { [check_compiler_available] } { {readelf {-W --version-info} mark-plt-1b.rd}} \ "mark-plt-1.so" \ ] \ + [list \ + "Build mark-plt-2.so" \ + "-shared -Wl,--no-as-needed,-z,mark-plt,-z,nopack-relative-relocs" \ + "-fPIC" \ + { mark-plt-2.s } \ + {{readelf {-W --version-info} mark-plt-2.rd}} \ + "mark-plt-2.so" \ + ] \ + [list \ + "Build gnu2-tls-1a.so" \ + "-shared -Wl,--no-as-needed,--gnu2-tls-tag" \ + "-fPIC" \ + { gnu2-tls-1.s } \ + {{readelf {-W --version-info} gnu2-tls-1a.rd}} \ + "gnu2-tls-1a.so" \ + ] \ + [list \ + "Build gnu2-tls-1b.so" \ + "-shared -Wl,--no-as-needed,--no-gnu2-tls-tag" \ + "-fPIC" \ + { gnu2-tls-1.s } \ + {{readelf {-W --version-info} gnu2-tls-1b.rd}} \ + "gnu2-tls-1b.so" \ + ] \ ] } diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 22d2f98..d1343eb 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -253,6 +253,8 @@ proc default_ld_link { ld target objects } { proc default_ld_compile { cc source object } { global CFLAGS_FOR_TARGET global CXXFLAGS_FOR_TARGET + global CFLAGS_FOR_TARGET_TEST + global CXXFLAGS_FOR_TARGET_TEST global srcdir global subdir global host_triplet @@ -286,10 +288,14 @@ proc default_ld_compile { cc source object } { } set ccexe [string replace $ccexe 0 [string last "/" $ccexe] ""] + set cflag_test "" + set cxxflag_test "" if {[string match "*++*" $ccexe]} { append flags " $CXXFLAGS_FOR_TARGET" + set cflag_test "$CXXFLAGS_FOR_TARGET_TEST" } else { append flags " $CFLAGS_FOR_TARGET" + set cflag_test "$CFLAGS_FOR_TARGET_TEST" } if [board_info [target_info name] exists cflags] { @@ -300,7 +306,7 @@ proc default_ld_compile { cc source object } { append flags " [board_info [target_info name] multilib_flags]" } - set cmd "$cc $flags $ccflags -c $source -o $object" + set cmd "$cc $flags $ccflags $cflag_test -c $source -o $object" verbose -log "$cmd" set status [remote_exec host [concat sh -c [list "$cmd 2>&1"]] "" "/dev/null" "ld.tmp"] @@ -727,6 +733,8 @@ proc run_ld_link_exec_tests { ldtests args } { global env global CC_FOR_TARGET global CXX_FOR_TARGET + global CFLAGS_FOR_TARGET_TEST + global CXXFLAGS_FOR_TARGET_TEST global errcnt global exec_output global STATIC_LDFLAGS @@ -780,9 +788,9 @@ proc run_ld_link_exec_tests { ldtests args } { lappend objfiles $objfile if { [ string match "c++" $lang ] } { - set cmd "$CXX_FOR_TARGET -c $cflags" + set cmd "$CXX_FOR_TARGET -c $cflags $CXXFLAGS_FOR_TARGET_TEST" } else { - set cmd "$CC_FOR_TARGET -c $cflags" + set cmd "$CC_FOR_TARGET -c $cflags $CFLAGS_FOR_TARGET_TEST" } if ![ld_compile $cmd $srcdir/$subdir/$src_file $objfile] { set failed 1 @@ -799,10 +807,10 @@ proc run_ld_link_exec_tests { ldtests args } { set link_cmd $ld } elseif { [ string match "c++" $lang ] } { set link_proc ld_link - set link_cmd $CXX_FOR_TARGET + set link_cmd "$CXX_FOR_TARGET $CXXFLAGS_FOR_TARGET_TEST" } else { set link_proc ld_link - set link_cmd $CC_FOR_TARGET + set link_cmd "$CC_FOR_TARGET $CFLAGS_FOR_TARGET_TEST" } if { $binfile eq "tmpdir/" } { @@ -888,6 +896,8 @@ proc run_cc_link_tests { ldtests } { global env global CC_FOR_TARGET global CXX_FOR_TARGET + global CFLAGS_FOR_TARGET_TEST + global CXXFLAGS_FOR_TARGET_TEST global ar global exec_output global STATIC_LDFLAGS @@ -969,9 +979,9 @@ proc run_cc_link_tests { ldtests } { lappend objfiles $objfile if { [ string match "c++" $lang ] } { - set cmd "$CXX_FOR_TARGET -c $cflags" + set cmd "$CXX_FOR_TARGET $CXXFLAGS_FOR_TARGET_TEST -c $cflags" } else { - set cmd "$CC_FOR_TARGET -c $cflags" + set cmd "$CC_FOR_TARGET $CFLAGS_FOR_TARGET_TEST -c $cflags" } if ![ld_compile $cmd $srcdir/$subdir/$src_file $objfile] { set failed 1 @@ -987,9 +997,9 @@ proc run_cc_link_tests { ldtests } { reset_vars if { [ string match "c++" $lang ] } { - set cc_cmd $CXX_FOR_TARGET + set cc_cmd "$CXX_FOR_TARGET $CXXFLAGS_FOR_TARGET_TEST" } else { - set cc_cmd $CC_FOR_TARGET + set cc_cmd "$CC_FOR_TARGET $CFLAGS_FOR_TARGET_TEST" } if { $binfile eq "tmpdir/" } { |