[PATCH] alpha, ld: remove -taso option

Ivan Kokshaysky ink@unseen.parts
Fri Jan 17 14:40:34 GMT 2025


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
support is going to be dropped in Linux 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>
---
 gdb/testsuite/gdb.base/dump.exp |  6 ------
 ld/emultempl/alphaelf.em        | 31 -------------------------------
 ld/po/bg.po                     |  7 -------
 ld/po/es.po                     |  9 ---------
 ld/po/fi.po                     | 12 ------------
 ld/po/fr.po                     |  9 ---------
 ld/po/ka.po                     |  7 -------
 ld/po/ld.pot                    |  8 --------
 ld/po/pt_BR.po                  |  9 ---------
 ld/po/ro.po                     |  9 ---------
 ld/po/ru.po                     |  9 ---------
 ld/po/sr.po                     |  9 ---------
 ld/po/sv.po                     | 12 ------------
 ld/po/uk.po                     |  9 ---------
 14 files changed, 146 deletions(-)

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/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/po/bg.po b/ld/po/bg.po
index 8a6e32ca47b..8b34712e44e 100644
--- a/ld/po/bg.po
+++ b/ld/po/bg.po
@@ -6301,13 +6301,6 @@ msgstr ""
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:632 eelf64alpha_fbsd.c:632 eelf64alpha_nbsd.c:632
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-
 #: eelf64alpha.c:635 eelf64alpha_fbsd.c:635 eelf64alpha_nbsd.c:635
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/es.po b/ld/po/es.po
index a58a44b0ccf..691ab5071d5 100644
--- a/ld/po/es.po
+++ b/ld/po/es.po
@@ -5328,15 +5328,6 @@ msgstr "%F%P: no se puede inicializar BFD: %E\n"
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr "  --s390-pgste                Pide al kernel que asigne tablas de páginas de 4k\n"
 
-#: eelf64alpha.c:549 eelf64alpha_fbsd.c:549 eelf64alpha_nbsd.c:549
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                      Carga el ejecutable en el rango de 31 bits inferior\n"
-"                                de direcciones virtuales direccionables\n"
-
 #: eelf64alpha.c:552 eelf64alpha_fbsd.c:552 eelf64alpha_nbsd.c:552
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/fi.po b/ld/po/fi.po
index d220e3bacca..ac85b20586d 100644
--- a/ld/po/fi.po
+++ b/ld/po/fi.po
@@ -7270,18 +7270,6 @@ msgstr "%P: kohteen %s löytäminen epäonnistui: %E\n"
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:2267 eelf64alpha_fbsd.c:2274 eelf64alpha_nbsd.c:2267
-#, fuzzy, c-format
-#| msgid ""
-#| "  --large-address-aware              Executable supports virtual addresses\n"
-#| "                                       greater than 2 gigabytes\n"
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --large-address-aware              Suoritettava tiedosto tukee virtuaaliosoitteita,\n"
-"                                       jotka ovat suurempia kuin 2 gigatavua\n"
-
 #: eelf64alpha.c:2270 eelf64alpha_fbsd.c:2277 eelf64alpha_nbsd.c:2270
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/fr.po b/ld/po/fr.po
index 6f4bdbf7716..41c181b2e8f 100644
--- a/ld/po/fr.po
+++ b/ld/po/fr.po
@@ -6415,15 +6415,6 @@ msgstr "  --itanium                   Générer du code pour les processeurs Ita
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr "  --s390-pgste                Dire au noyau d'allouer des tables de page de 4k\n"
 
-#: eelf64alpha.c:632 eelf64alpha_fbsd.c:632 eelf64alpha_nbsd.c:632
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                      Charger l'exécutable dans les 31-bit bas de la plage\n"
-"                                d'adresses virtuelles addressables\n"
-
 #: eelf64alpha.c:635 eelf64alpha_fbsd.c:635 eelf64alpha_nbsd.c:635
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/ka.po b/ld/po/ka.po
index 61d3f5c6acd..4e8b1b41574 100644
--- a/ld/po/ka.po
+++ b/ld/po/ka.po
@@ -6168,13 +6168,6 @@ msgstr "  --itanium                   Intel Itanium-ის კოდის გ
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:594 eelf64alpha_fbsd.c:594 eelf64alpha_nbsd.c:594
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-
 #: eelf64alpha.c:597 eelf64alpha_fbsd.c:597 eelf64alpha_nbsd.c:597
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/ld.pot b/ld/po/ld.pot
index 345a6d241e2..5cbb314803a 100644
--- a/ld/po/ld.pot
+++ b/ld/po/ld.pot
@@ -6530,14 +6530,6 @@ msgid ""
 "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:632 eelf64alpha_fbsd.c:632 eelf64alpha_nbsd.c:632
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit "
-"addressable\n"
-"                                virtual address range\n"
-msgstr ""
-
 #: eelf64alpha.c:635 eelf64alpha_fbsd.c:635 eelf64alpha_nbsd.c:635
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/pt_BR.po b/ld/po/pt_BR.po
index 8223f2c7310..5a35c0dfc80 100644
--- a/ld/po/pt_BR.po
+++ b/ld/po/pt_BR.po
@@ -5762,15 +5762,6 @@ msgstr "%F%P: não foi possível inicializar BFD: %E\n"
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr "  --s390-pgste                Diz ao kernel para alocar tabelas de página de 4k\n"
 
-#: eelf64alpha.c:562 eelf64alpha_fbsd.c:562 eelf64alpha_nbsd.c:562
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                      Carrega executável no intervalo de endereço\n"
-"                                virtual endereçável de 31 bits inferior\n"
-
 #: eelf64alpha.c:565 eelf64alpha_fbsd.c:565 eelf64alpha_nbsd.c:565
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/ro.po b/ld/po/ro.po
index 7e2dc7f4800..09ba8d17a3d 100644
--- a/ld/po/ro.po
+++ b/ld/po/ro.po
@@ -6484,15 +6484,6 @@ msgstr "  --itanium                   generează cod pentru procesorul Intel Ita
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr "  --s390-pgste                îi indică nucleului să aloce tabele de pagini de 4k\n"
 
-#: eelf64alpha.c:632 eelf64alpha_fbsd.c:632 eelf64alpha_nbsd.c:632
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                      încarcă executabilul în intervalul inferior de\n"
-"                              adrese virtuale adresabile pe 31 de biți\n"
-
 #: eelf64alpha.c:635 eelf64alpha_fbsd.c:635 eelf64alpha_nbsd.c:635
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/ru.po b/ld/po/ru.po
index 9cb4b081bc7..02b4ab79886 100644
--- a/ld/po/ru.po
+++ b/ld/po/ru.po
@@ -6977,15 +6977,6 @@ msgstr ""
 "  --s390-pgste                       указать ядру выделять таблицы с размером\n"
 "                                     страницы 4k\n"
 
-#: eelf64alpha.c:2268 eelf64alpha_fbsd.c:2275 eelf64alpha_nbsd.c:2268
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                             загружать исполняемый файл в нижний\n"
-"                                     31-битный виртуальный адресный диапазон\n"
-
 #: eelf64alpha.c:2271 eelf64alpha_fbsd.c:2278 eelf64alpha_nbsd.c:2271
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/sr.po b/ld/po/sr.po
index 9c70438b823..53c870a8083 100644
--- a/ld/po/sr.po
+++ b/ld/po/sr.po
@@ -5608,15 +5608,6 @@ msgstr "  --itanium                           Ствара код за „Intel
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr "  --s390-pgste                        Говори језгру да додели 4k табеле странице\n"
 
-#: eelf64alpha.c:589 eelf64alpha_fbsd.c:589 eelf64alpha_nbsd.c:589
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                              Учитава извршну у нижем 31-битном адресивом\n"
-"                                      виртуелном опсегу адресе\n"
-
 #: eelf64alpha.c:592 eelf64alpha_fbsd.c:592 eelf64alpha_nbsd.c:592
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/sv.po b/ld/po/sv.po
index 77ab8be6529..e4dde55d93c 100644
--- a/ld/po/sv.po
+++ b/ld/po/sv.po
@@ -6216,18 +6216,6 @@ msgstr "  --out-implib <fil>                 Generera importbibliotek\n"
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:589 eelf64alpha_fbsd.c:589 eelf64alpha_nbsd.c:589
-#, fuzzy, c-format
-#| msgid ""
-#| "  --large-address-aware              Executable supports virtual addresses\n"
-#| "                                       greater than 2 gigabytes\n"
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --large-address-aware              Körbar fil har stöd för virtuella adresser\n"
-"                                       större än 2 gigabyte\n"
-
 #: eelf64alpha.c:592 eelf64alpha_fbsd.c:592 eelf64alpha_nbsd.c:592
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
diff --git a/ld/po/uk.po b/ld/po/uk.po
index 6f787ecabdc..596d504961d 100644
--- a/ld/po/uk.po
+++ b/ld/po/uk.po
@@ -6416,15 +6416,6 @@ msgstr "  --itanium                   створювати код для про
 msgid "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr "  --s390-pgste                наказати ядру розміщувати дані за таблицями 4-кілобайтових сторінок\n"
 
-#: eelf64alpha.c:632 eelf64alpha_fbsd.c:632 eelf64alpha_nbsd.c:632
-#, c-format
-msgid ""
-"  --taso                      Load executable in the lower 31-bit addressable\n"
-"                                virtual address range\n"
-msgstr ""
-"  --taso                      завантажити виконуваний файл у нижній діапазон\n"
-"                                31-бітових віртуальних адрес\n"
-
 #: eelf64alpha.c:635 eelf64alpha_fbsd.c:635 eelf64alpha_nbsd.c:635
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"


More information about the Binutils mailing list