diff options
author | Linda Zhang <lindasc@qq.com> | 2014-06-26 12:18:39 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-06-26 12:18:39 +0100 |
commit | eeb14e5a5b378450ca2ed139e76f317f491f4613 (patch) | |
tree | d6765b98ed47c169caf41c6efc41020eb285ec1e /ld/emultempl/pe.em | |
parent | df565f326e62eacf41fb880f1acc65b9fdb5052c (diff) | |
download | binutils-gdb-eeb14e5a5b378450ca2ed139e76f317f491f4613.tar.gz |
Change the default behaviour of the PE targeted linker so that timestamps are
inserted. This is for compatibility with other, non-GNU tools. Deterministic
binaries can still be created by using the new --no-insert-timestamp command line
option.
* emultempl/pe.em: Initialise insert_timestamp to true.
Add a --no-insert-timestamp command line option.
* emultempl/pep.em: Likewise.
* ld.texinfo: Document that --insert-timestamp is enabled by
default and that it now has an inverse command line option.
* NEWS: Mention the new behaviour.
Diffstat (limited to 'ld/emultempl/pe.em')
-rw-r--r-- | ld/emultempl/pe.em | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 0466eb3f631..7a5b77bf9b2 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -132,7 +132,7 @@ static int support_old_code = 0; static char * thumb_entry_symbol = NULL; static lang_assignment_statement_type *image_base_statement = 0; static unsigned short pe_dll_characteristics = 0; -static bfd_boolean insert_timestamp = FALSE; +static bfd_boolean insert_timestamp = TRUE; static const char *emit_build_id; #ifdef DLL_SUPPORT @@ -272,7 +272,8 @@ fragment <<EOF #define OPTION_TERMINAL_SERVER_AWARE (OPTION_WDM_DRIVER + 1) /* Determinism. */ #define OPTION_INSERT_TIMESTAMP (OPTION_TERMINAL_SERVER_AWARE + 1) -#define OPTION_BUILD_ID (OPTION_INSERT_TIMESTAMP + 1) +#define OPTION_NO_INSERT_TIMESTAMP (OPTION_INSERT_TIMESTAMP + 1) +#define OPTION_BUILD_ID (OPTION_NO_INSERT_TIMESTAMP + 1) static void gld${EMULATION_NAME}_add_options @@ -307,6 +308,7 @@ gld${EMULATION_NAME}_add_options {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, #ifdef DLL_SUPPORT /* getopt allows abbreviations, so we do this to stop it from treating -o as an abbreviation for this option. */ @@ -445,7 +447,7 @@ gld_${EMULATION_NAME}_list_options (FILE *file) fprintf (file, _(" --support-old-code Support interworking with old code\n")); fprintf (file, _(" --[no-]leading-underscore Set explicit symbol underscore prefix mode\n")); fprintf (file, _(" --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n")); - fprintf (file, _(" --insert-timestamp Use a real timestamp rather than zero.\n")); + fprintf (file, _(" --[no-]insert-timestamp Use a real timestamp rather than zero (default).\n")); fprintf (file, _(" This makes binaries non-deterministic\n")); #ifdef DLL_SUPPORT fprintf (file, _(" --add-stdcall-alias Export symbols with and without @nn\n")); @@ -769,6 +771,9 @@ gld${EMULATION_NAME}_handle_option (int optc) case OPTION_INSERT_TIMESTAMP: insert_timestamp = TRUE; break; + case OPTION_NO_INSERT_TIMESTAMP: + insert_timestamp = FALSE; + break; #ifdef DLL_SUPPORT case OPTION_OUT_DEF: pe_out_def_filename = xstrdup (optarg); |