From: Ivan Kokshaysky Date: Sat, 15 Feb 2025 01:30:58 +0000 (+0000) Subject: alpha, ld: remove -taso option X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0813652eef5c9333db203a2ddc843840b9e7373e;p=thirdparty%2Fbinutils-gdb.git alpha, ld: remove -taso option The -taso switch was quite useful 25 years ago for porting 32-bit code with broken integer-pointer casting. Not anymore. The EF_ALPHA_32BIT Linux support is going to be dropped in kernel v6.14 [1], NetBSD and OpenBSD never had it, so there is no point in keeping the -taso option around. Also remove alpha special case that uses -taso from gdb.base/dump.exp in gdb testsuite. [1] https://lore.kernel.org/all/87jzb2tdb7.fsf_-_@email.froward.int.ebiederm.org Signed-off-by: Ivan Kokshaysky Reviewed-By: Maciej W. Rozycki Approved-By: Andrew Burgess --- diff --git a/gdb/testsuite/gdb.base/dump.exp b/gdb/testsuite/gdb.base/dump.exp index 58fedb1d36b..54efe51fbaa 100644 --- a/gdb/testsuite/gdb.base/dump.exp +++ b/gdb/testsuite/gdb.base/dump.exp @@ -26,12 +26,6 @@ set endian "auto" set formats {binary ihex srec tekhex verilog} -if {[istarget "alpha*-*-*"]} { - # SREC etc cannot handle 64-bit addresses. Force the test - # program into the low 31 bits of the address space. - lappend options "ldflags=-Wl,-taso" -} - # Runs the command 'print zero_all ()'. Uses the PRINT_ZERO_ALL_COUNT # global to ensure the test names are unique. set print_zero_all_count 0 diff --git a/ld/NEWS b/ld/NEWS index acb3263a29f..494bb83e49b 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -1,5 +1,8 @@ -*- text -*- +* Remove the linker -taso option for Alpha target, as Linux/Alpha kernel + support for 32-bit pointers has been removed. + * On s390, generate ".eh_frame" unwind information for the linker generated .plt section. Enabled by default. Can be disabled using linker option --no-ld-generated-unwind-info. diff --git a/ld/emultempl/alphaelf.em b/ld/emultempl/alphaelf.em index 5ae2587a653..995d7f07a7f 100644 --- a/ld/emultempl/alphaelf.em +++ b/ld/emultempl/alphaelf.em @@ -28,14 +28,8 @@ fragment <e_flags |= EF_ALPHA_32BIT; - - ldelf_finish (); -} EOF # Define some shell vars to insert bits of code into the standard elf # parse_args and list_options functions. # PARSE_AND_LIST_LONGOPTS=' - { "taso", no_argument, NULL, OPTION_TASO }, { "secureplt", no_argument, NULL, OPTION_SECUREPLT }, { "no-secureplt", no_argument, NULL, OPTION_NO_SECUREPLT }, ' PARSE_AND_LIST_OPTIONS=' fprintf (file, _("\ - --taso Load executable in the lower 31-bit addressable\n\ - virtual address range\n")); - fprintf (file, _("\ --secureplt Force PLT in text segment\n")); fprintf (file, _("\ --no-secureplt Force PLT in data segment\n")); ' PARSE_AND_LIST_ARGS_CASES=' - case OPTION_TASO: - limit_32bit = 1; - break; case OPTION_SECUREPLT: elf64_alpha_use_secureplt = true; break; @@ -144,4 +114,3 @@ PARSE_AND_LIST_ARGS_CASES=' LDEMUL_AFTER_OPEN=alpha_after_open LDEMUL_AFTER_PARSE=alpha_after_parse LDEMUL_BEFORE_ALLOCATION=alpha_before_allocation -LDEMUL_FINISH=alpha_finish diff --git a/ld/ldlex.h b/ld/ldlex.h index b8b7d6b6829..999d0defc61 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h @@ -246,7 +246,6 @@ enum option_values OPTION_LIBPATH, OPTION_NOLIBPATH, /* Used by emultempl/alphaelf.em. */ - OPTION_TASO, OPTION_SECUREPLT, OPTION_NO_SECUREPLT, /* Used by emultempl/armelf.em. */