From: Ivan Kokshaysky <ink@unseen.parts>
To: "Maciej W. Rozycki" <macro@orcam.me.uk>
Cc: binutils@sourceware.org, gdb-patches@sourceware.org
Subject: [PATCH v2] alpha, ld: remove -taso option
Date: Sat, 18 Jan 2025 11:17:46 +0100 [thread overview]
Message-ID: <Z4t_yqXpYf2J7b1Z@minute> (raw)
In-Reply-To: <alpine.DEB.2.21.2501180736110.27432@angie.orcam.me.uk>
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 <ink@unseen.parts>
---
Changes in v2, suggested by Maciej W. Rozycki:
- leave the translations alone;
- remove OPTION_TASO from ld/ldlex.h;
- add entries to ld/NEWS and binutils/NEWS.
---
binutils/NEWS | 3 +++
gdb/testsuite/gdb.base/dump.exp | 6 ------
ld/NEWS | 3 +++
ld/emultempl/alphaelf.em | 31 -------------------------------
ld/ldlex.h | 1 -
5 files changed, 6 insertions(+), 38 deletions(-)
diff --git a/binutils/NEWS b/binutils/NEWS
index f4687e6c2bc..9c1a54c9355 100644
--- a/binutils/NEWS
+++ b/binutils/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.
+
* Support for Nios II targets has been removed except in the readelf utility,
as this architecture has been EOL'ed by Intel.
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 aa3d3e83f35..ccdfc56ac84 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.
+
* Support for Nios II target has been removed, as this architecture has been
EOL'ed by Intel.
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 <<EOF
#include "elf/alpha.h"
#include "elf-bfd.h"
-static bool limit_32bit;
-
extern bool elf64_alpha_use_secureplt;
-
-/* Set the start address as in the Tru64 ld. */
-#define ALPHA_TEXT_START_32BIT 0x12000000
-
static void
alpha_after_open (void)
{
@@ -73,14 +67,6 @@ static void
alpha_after_parse (void)
{
link_info.relax_pass = 2;
- if (limit_32bit
- && !bfd_link_pic (&link_info)
- && !bfd_link_relocatable (&link_info))
- lang_section_start (".interp",
- exp_binop ('+',
- exp_intop (ALPHA_TEXT_START_32BIT),
- exp_nameop (SIZEOF_HEADERS, NULL)),
- NULL);
ldelf_after_parse ();
}
@@ -97,40 +83,24 @@ alpha_before_allocation (void)
&& ! RELAXATION_DISABLED_BY_USER)
ENABLE_RELAXATION;
}
-
-static void
-alpha_finish (void)
-{
- if (limit_32bit)
- elf_elfheader (link_info.output_bfd)->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. */
next prev parent reply other threads:[~2025-01-18 10:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Z4pr4tVtVYToa5YU@minute>
2025-01-17 14:47 ` [PATCH] " Sam James
2025-01-17 15:00 ` Ivan Kokshaysky
2025-01-17 21:17 ` Sam James
2025-01-18 7:33 ` Maciej W. Rozycki
2025-01-18 7:37 ` Maciej W. Rozycki
2025-01-18 8:40 ` Ivan Kokshaysky
2025-01-18 10:17 ` Ivan Kokshaysky [this message]
2025-01-20 17:50 ` [PATCH v2] " Maciej W. Rozycki
[not found] ` <f203eaa7-41a5-4b87-80cc-ab0d0e2edd9c@redhat.com>
2025-02-11 17:02 ` Maciej W. Rozycki
2025-02-11 17:43 ` Andrew Burgess
2025-02-15 1:36 ` Maciej W. Rozycki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z4t_yqXpYf2J7b1Z@minute \
--to=ink@unseen.parts \
--cc=binutils@sourceware.org \
--cc=gdb-patches@sourceware.org \
--cc=macro@orcam.me.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox