Fix linker tests to work with 16-bit targets.
[deliverable/binutils-gdb.git] / ld / emultempl / rxelf.em
index c4a2dacc3a8b57a27744db431ff4c47f1d41a413..b622be1275f54cebd9a65a5c89f212a669db57f9 100644 (file)
@@ -1,5 +1,5 @@
 # This shell script emits a C file. -*- C -*-
-#   Copyright 2009  Free Software Foundation, Inc.
+#   Copyright (C) 2009-2020 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Binutils.
 #
 # MA 02110-1301, USA.
 #
 
-# This file is sourced from elf32.em, and defines extra rx-elf
+# This file is sourced from elf.em, and defines extra rx-elf
 # specific routines.
 #
 test -z "$TARGET2_TYPE" && TARGET2_TYPE="rel"
 fragment <<EOF
 
-static bfd_boolean no_flag_mismatch_warnings = FALSE;
+#include "elf32-rx.h"
+
+static bfd_boolean no_flag_mismatch_warnings = TRUE;
+static bfd_boolean ignore_lma = TRUE;
 
 /* This is a convenient point to tell BFD about target specific flags.
    After the output has been created, but before inputs are read.  */
 static void
 rx_elf_create_output_section_statements (void)
 {
-  extern void bfd_elf32_rx_set_target_flags (bfd_boolean);
+  extern void bfd_elf32_rx_set_target_flags (bfd_boolean, bfd_boolean);
 
-  bfd_elf32_rx_set_target_flags (no_flag_mismatch_warnings);
+  bfd_elf32_rx_set_target_flags (no_flag_mismatch_warnings, ignore_lma);
 }
 
 EOF
@@ -44,21 +47,46 @@ EOF
 #
 PARSE_AND_LIST_PROLOGUE='
 #define OPTION_NO_FLAG_MISMATCH_WARNINGS       301
+#define OPTION_IGNORE_LMA                      302
+#define OPTION_NO_IGNORE_LMA                   303
+#define OPTION_FLAG_MISMATCH_WARNINGS          304
 '
 
 PARSE_AND_LIST_LONGOPTS='
   { "no-flag-mismatch-warnings", no_argument, NULL, OPTION_NO_FLAG_MISMATCH_WARNINGS},
+  { "flag-mismatch-warnings", no_argument, NULL, OPTION_FLAG_MISMATCH_WARNINGS},
+  { "ignore-lma", no_argument, NULL, OPTION_IGNORE_LMA},
+  { "no-ignore-lma", no_argument, NULL, OPTION_NO_IGNORE_LMA},
 '
 
 PARSE_AND_LIST_OPTIONS='
-  fprintf (file, _("  --no-flag-mismatch-warnings Don'\''t warn about objects with incompatible"
+  fprintf (file, _("  --no-flag-mismatch-warnings Don'\''t warn about objects with incompatible\n"
                   "                                endian or dsp settings\n"));
+  fprintf (file, _("  --flag-mismatch-warnings    Warn about objects with incompatible\n"
+                  "                                endian, dsp or ABI settings\n"));
+  fprintf (file, _("  --ignore-lma                Ignore segment LMAs [default]\n"
+                   "                                (for Renesas Tools compatibility)\n"));
+  fprintf (file, _("  --no-ignore-lma             Don'\''t ignore segment LMAs\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
     case OPTION_NO_FLAG_MISMATCH_WARNINGS:
       no_flag_mismatch_warnings = TRUE;
       break;
+
+    case OPTION_FLAG_MISMATCH_WARNINGS:
+      no_flag_mismatch_warnings = FALSE;
+      break;
+
+    case OPTION_IGNORE_LMA:
+      ignore_lma = TRUE;
+      break;
+
+    case OPTION_NO_IGNORE_LMA:
+      ignore_lma = FALSE;
+      break;
 '
 
 LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=rx_elf_create_output_section_statements
+
+LDEMUL_EXTRA_MAP_FILE_TEXT=rx_additional_link_map_text
This page took 0.024289 seconds and 4 git commands to generate.