Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@redhat.com>
To: Ivan Kokshaysky <ink@unseen.parts>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>
Cc: binutils@sourceware.org, gdb-patches@sourceware.org
Subject: Re: [PATCH v2] alpha, ld: remove -taso option
Date: Tue, 11 Feb 2025 17:43:21 +0000	[thread overview]
Message-ID: <87a5asml6u.fsf@redhat.com> (raw)
In-Reply-To: <Z4t_yqXpYf2J7b1Z@minute>

Ivan Kokshaysky <ink@unseen.parts> writes:

> 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.

For the GDB testsuite change:

Approved-By: Andrew Burgess <aburgess@redhat.com>

Thanks,
Andrew


>
> [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.  */


  parent reply	other threads:[~2025-02-11 17:44 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     ` [PATCH v2] " Ivan Kokshaysky
2025-01-20 17:50       ` 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 [this message]
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=87a5asml6u.fsf@redhat.com \
    --to=aburgess@redhat.com \
    --cc=binutils@sourceware.org \
    --cc=gdb-patches@sourceware.org \
    --cc=ink@unseen.parts \
    --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