diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/emultempl/elf32.em | 24 |
2 files changed, 25 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 4e184e6..7eb00ef 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +1999-08-23 Nick Clifton <nickc@cygnus.com> + + * emultempl/elf32.em: Add ability for individual targets to have + their own command line switches by defining PARSE_AND_LIST_ARGS. + 1999-08-19 Andreas Schwab <schwab@suse.de> * configure.host: Use ${CC} instead of gcc for finding compiler diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 163e4c9..0c0ebb7 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1119,6 +1119,22 @@ EOF fi +if test -n "$PARSE_AND_LIST_ARGS" ; then +cat >>e${EMULATION_NAME}.c <<EOF +static int gld_${EMULATION_NAME}_parse_args PARAMS ((int, char **)); +static void gld_${EMULATION_NAME}_list_options PARAMS ((FILE * file)); + + $PARSE_AND_LIST_ARGS +EOF +else + +cat >>e${EMULATION_NAME}.c <<EOF +#define gld_${EMULATION_NAME}_parse_args NULL +#define gld_${EMULATION_NAME}_list_options NULL +EOF + +fi + cat >>e${EMULATION_NAME}.c <<EOF struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = @@ -1135,14 +1151,14 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = gld${EMULATION_NAME}_get_script, "${EMULATION_NAME}", "${OUTPUT_FORMAT}", - NULL, - NULL, + NULL, /* finish */ + NULL, /* create output section statements */ gld${EMULATION_NAME}_open_dynamic_archive, gld${EMULATION_NAME}_place_orphan, NULL, /* set_symbols */ - NULL, /* parse_args */ + gld_${EMULATION_NAME}_parse_args, NULL, /* unrecognized_file */ - NULL, /* list_options */ + gld_${EMULATION_NAME}_list_options, NULL /* recognized_file */ }; EOF |