2011-05-04 Tristan Gingold <gingold@adacore.com>
* emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION. * emultempl/vms.em (OPTION_IDENTIFICATION): New macro. (gld${EMULATION_NAME}_add_options): New function. (gld${EMULATION_NAME}_list_options): Ditto. (gld${EMULATION_NAME}_handle_option): Ditto. (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION) (LDEMUL_LIST_OPTIONS): Define.
This commit is contained in:
parent
8cfbb63d82
commit
45cfb56cf4
11
ld/ChangeLog
11
ld/ChangeLog
@ -1,3 +1,14 @@
|
||||
2011-05-04 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add
|
||||
LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION.
|
||||
* emultempl/vms.em (OPTION_IDENTIFICATION): New macro.
|
||||
(gld${EMULATION_NAME}_add_options): New function.
|
||||
(gld${EMULATION_NAME}_list_options): Ditto.
|
||||
(gld${EMULATION_NAME}_handle_option): Ditto.
|
||||
(LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION)
|
||||
(LDEMUL_LIST_OPTIONS): Define.
|
||||
|
||||
2011-05-04 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/12726
|
||||
|
@ -138,8 +138,8 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
|
||||
${LDEMUL_PLACE_ORPHAN-NULL},
|
||||
${LDEMUL_SET_SYMBOLS-NULL},
|
||||
${LDEMUL_PARSE_ARGS-NULL},
|
||||
NULL, /* add_options */
|
||||
NULL, /* handle_option */
|
||||
${LDEMUL_ADD_OPTIONS-NULL},
|
||||
${LDEMUL_HANDLE_OPTION-NULL},
|
||||
${LDEMUL_UNRECOGNIZED_FILE-NULL},
|
||||
${LDEMUL_LIST_OPTIONS-NULL},
|
||||
${LDEMUL_RECOGNIZED_FILE-NULL},
|
||||
|
@ -23,6 +23,8 @@
|
||||
# This file is sourced from generic.em.
|
||||
|
||||
fragment <<EOF
|
||||
#include "getopt.h"
|
||||
|
||||
static void
|
||||
gld${EMULATION_NAME}_before_parse (void)
|
||||
{
|
||||
@ -117,6 +119,51 @@ vms_place_orphan (asection *s,
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* VMS specific options. */
|
||||
#define OPTION_IDENTIFICATION (300 + 1)
|
||||
|
||||
static void
|
||||
gld${EMULATION_NAME}_add_options
|
||||
(int ns ATTRIBUTE_UNUSED,
|
||||
char **shortopts ATTRIBUTE_UNUSED,
|
||||
int nl,
|
||||
struct option **longopts,
|
||||
int nrl ATTRIBUTE_UNUSED,
|
||||
struct option **really_longopts ATTRIBUTE_UNUSED)
|
||||
{
|
||||
static const struct option xtra_long[] = {
|
||||
{"identification", required_argument, NULL, OPTION_IDENTIFICATION},
|
||||
{NULL, no_argument, NULL, 0}
|
||||
};
|
||||
|
||||
*longopts
|
||||
= xrealloc (*longopts, nl * sizeof (struct option) + sizeof (xtra_long));
|
||||
memcpy (*longopts + nl, &xtra_long, sizeof (xtra_long));
|
||||
}
|
||||
|
||||
static void
|
||||
gld${EMULATION_NAME}_list_options (FILE *file)
|
||||
{
|
||||
fprintf (file, _(" --identification <string> Set the identification of the output\n"));
|
||||
}
|
||||
|
||||
static bfd_boolean
|
||||
gld${EMULATION_NAME}_handle_option (int optc)
|
||||
{
|
||||
switch (optc)
|
||||
{
|
||||
default:
|
||||
return FALSE;
|
||||
|
||||
case OPTION_IDENTIFICATION:
|
||||
/* Currently ignored. */
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
EOF
|
||||
|
||||
LDEMUL_PLACE_ORPHAN=vms_place_orphan
|
||||
@ -124,3 +171,6 @@ LDEMUL_BEFORE_PARSE=gld"$EMULATION_NAME"_before_parse
|
||||
LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=gld"$EMULATION_NAME"_create_output_section_statements
|
||||
LDEMUL_FIND_POTENTIAL_LIBRARIES=gld"$EMULATION_NAME"_find_potential_libraries
|
||||
LDEMUL_OPEN_DYNAMIC_ARCHIVE=gld"$EMULATION_NAME"_open_dynamic_archive
|
||||
LDEMUL_ADD_OPTIONS=gld"$EMULATION_NAME"_add_options
|
||||
LDEMUL_HANDLE_OPTION=gld"$EMULATION_NAME"_handle_option
|
||||
LDEMUL_LIST_OPTIONS=gld"$EMULATION_NAME"_list_options
|
||||
|
Loading…
x
Reference in New Issue
Block a user