2000-07-27 H.J. Lu <hjl@gnu.org>
* emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed. (PARSE_AND_LIST_PROLOGUE): New. (PARSE_AND_LIST_LONGOPTS): Likewise. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (PARSE_AND_LIST_EPILOGUE): Likewise.
This commit is contained in:
parent
41392f033d
commit
b2009ff751
@ -1,3 +1,12 @@
|
|||||||
|
2000-07-27 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed.
|
||||||
|
(PARSE_AND_LIST_PROLOGUE): New.
|
||||||
|
(PARSE_AND_LIST_LONGOPTS): Likewise.
|
||||||
|
(PARSE_AND_LIST_OPTIONS): Likewise.
|
||||||
|
(PARSE_AND_LIST_ARGS_CASES): Likewise.
|
||||||
|
(PARSE_AND_LIST_EPILOGUE): Likewise.
|
||||||
|
|
||||||
2000-07-28 Alan Modra <alan@linuxcare.com.au>
|
2000-07-28 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
* emultempl/armelf.em: Elide functions common to elf32.em,
|
* emultempl/armelf.em: Elide functions common to elf32.em,
|
||||||
|
@ -16,60 +16,27 @@ OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'
|
|||||||
|
|
||||||
# This code gets inserted into the generic elf32.sc linker script
|
# This code gets inserted into the generic elf32.sc linker script
|
||||||
# and allows us to define our own command line switches.
|
# and allows us to define our own command line switches.
|
||||||
PARSE_AND_LIST_ARGS='
|
PARSE_AND_LIST_PROLOGUE='
|
||||||
#define OPTION_TASO 300
|
#define OPTION_TASO 300
|
||||||
/* Set the start address as in the Tru64 ld */
|
/* Set the start address as in the Tru64 ld */
|
||||||
#define ALPHA_TEXT_START_32BIT 0x12000000
|
#define ALPHA_TEXT_START_32BIT 0x12000000
|
||||||
|
|
||||||
static int elf64alpha_32bit = 0;
|
static int elf64alpha_32bit = 0;
|
||||||
|
|
||||||
static struct option longopts[] =
|
|
||||||
{
|
|
||||||
{"taso", no_argument, NULL, OPTION_TASO},
|
|
||||||
{NULL, no_argument, NULL, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
|
||||||
gld_elf64alpha_list_options (file)
|
|
||||||
FILE * file;
|
|
||||||
{
|
|
||||||
fprintf (file, _(
|
|
||||||
" -taso Load executable in the lower 31-bit addressable
|
|
||||||
virtual address range.\n"));
|
|
||||||
}
|
|
||||||
|
|
||||||
struct ld_emulation_xfer_struct ld_elf64alpha_emulation;
|
struct ld_emulation_xfer_struct ld_elf64alpha_emulation;
|
||||||
static void gld_elf64alpha_finish ();
|
static void gld_elf64alpha_finish ();
|
||||||
|
'
|
||||||
|
|
||||||
static int
|
PARSE_AND_LIST_LONGOPTS='
|
||||||
gld_elf64alpha_parse_args (argc, argv)
|
{"taso", no_argument, NULL, OPTION_TASO},
|
||||||
int argc;
|
'
|
||||||
char ** argv;
|
|
||||||
{
|
|
||||||
int longind;
|
|
||||||
int optc;
|
|
||||||
int prevoptind = optind;
|
|
||||||
int prevopterr = opterr;
|
|
||||||
int wanterror;
|
|
||||||
static int lastoptind = -1;
|
|
||||||
|
|
||||||
if (lastoptind != optind)
|
PARSE_AND_LIST_OPTIONS='
|
||||||
opterr = 0;
|
fprintf (file, _(" -taso\t\t\tLoad executable in the lower 31-bit addressable\n"));
|
||||||
|
fprintf (file, _("\t\t\t virtual address range\n"));
|
||||||
wanterror = opterr;
|
'
|
||||||
lastoptind = optind;
|
|
||||||
|
|
||||||
optc = getopt_long_only (argc, argv, "-", longopts, & longind);
|
|
||||||
opterr = prevopterr;
|
|
||||||
|
|
||||||
switch (optc)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
if (wanterror)
|
|
||||||
xexit (1);
|
|
||||||
optind = prevoptind;
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
|
PARSE_AND_LIST_ARGS_CASES='
|
||||||
case EOF:
|
case EOF:
|
||||||
if (elf64alpha_32bit && !link_info.shared && !link_info.relocateable)
|
if (elf64alpha_32bit && !link_info.shared && !link_info.relocateable)
|
||||||
{
|
{
|
||||||
@ -84,17 +51,16 @@ gld_elf64alpha_parse_args (argc, argv)
|
|||||||
case OPTION_TASO:
|
case OPTION_TASO:
|
||||||
elf64alpha_32bit = 1;
|
elf64alpha_32bit = 1;
|
||||||
break;
|
break;
|
||||||
}
|
'
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
PARSE_AND_LIST_EPILOGUE='
|
||||||
#include "elf/internal.h"
|
#include "elf/internal.h"
|
||||||
#include "elf/alpha.h"
|
#include "elf/alpha.h"
|
||||||
#include "elf-bfd.h"
|
#include "elf-bfd.h"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gld_elf64alpha_finish ()
|
gld_elf64alpha_finish()
|
||||||
{
|
{
|
||||||
elf_elfheader (output_bfd)->e_flags |= EF_ALPHA_32BIT;
|
elf_elfheader (output_bfd)->e_flags |= EF_ALPHA_32BIT;
|
||||||
}'
|
}
|
||||||
|
'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user