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
-*- 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.
#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)
{
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 ();
}
&& ! 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;
LDEMUL_AFTER_OPEN=alpha_after_open
LDEMUL_AFTER_PARSE=alpha_after_parse
LDEMUL_BEFORE_ALLOCATION=alpha_before_allocation
-LDEMUL_FINISH=alpha_finish