PR 34670 remove MAP support from ld scripts
Alan Modra
amodra@gmail.com
Wed Sep 23 23:23:52 GMT 2026
It's undocumented, appeared in 1991 with commit 2fa0b342a5cd but was
never implemented. Apparently the intent was to control some aspect
of mapfile output.
diff --git a/ld/ldexp.c b/ld/ldexp.c
index 60145d635c2..aa9bcb6e2ee 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -117,7 +117,6 @@ exp_print_token (token_code_type code, int infix_p)
{ DEFINED, "DEFINED" },
{ TARGET_K, "TARGET" },
{ SEARCH_DIR, "SEARCH_DIR" },
- { MAP, "MAP" },
{ ENTRY, "ENTRY" },
{ NEXT, "NEXT" },
{ ALIGNOF, "ALIGNOF" },
diff --git a/ld/ldgram.y b/ld/ldgram.y
index 0b5f1d4aac1..f8bdf70fd85 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -144,7 +144,7 @@ static void yyerror (const char *);
%token NOLOAD DSECT COPY INFO OVERLAY
%token READONLY
%token TYPE
-%token DEFINED TARGET_K SEARCH_DIR MAP ENTRY
+%token DEFINED TARGET_K SEARCH_DIR ENTRY
%token <integer> NEXT
%token SIZEOF ALIGNOF ADDR LOADADDR MAX_K MIN_K
%token STARTUP HLL SYSLIB FLOAT NOFLOAT NOCROSSREFS NOCROSSREFS_TO
@@ -346,8 +346,6 @@ ifile_p1:
{ lang_enter_lib (); }
'(' input_list ')'
{ lang_leave_lib (); }
- | MAP '(' filename ')'
- { lang_add_map($3); }
| INCLUDE filename
{ ldfile_open_command_file ($2); }
ifile_list END
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 86a76fdabef..691164e3384 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -70,7 +70,6 @@ static struct obstack pt_obstack;
static const char *entry_symbol_default = "start";
static bool map_head_is_link_order = false;
static lang_output_section_statement_type *default_common_section;
-static bool map_option_f;
static bfd_vma print_dot;
static lang_input_statement_type *first_file;
static const char *current_target;
@@ -9120,21 +9119,6 @@ lang_add_target (const char *name)
new_stmt->target = name;
}
-void
-lang_add_map (const char *name)
-{
- while (*name)
- {
- switch (*name)
- {
- case 'F':
- map_option_f = true;
- break;
- }
- name++;
- }
-}
-
void
lang_add_fill (fill_type *fill)
{
diff --git a/ld/ldlang.h b/ld/ldlang.h
index dd10ecdfead..fa0e23ce2b1 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -597,8 +597,6 @@ extern void lang_add_target
(const char *);
extern void lang_add_wild
(struct wildcard_spec *, struct wildcard_list *, bool);
-extern void lang_add_map
- (const char *);
extern void lang_add_fill
(fill_type *);
extern lang_assignment_statement_type *lang_add_assignment
diff --git a/ld/ldlex.l b/ld/ldlex.l
index ad4b9e3e420..791b3c84b79 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -282,7 +282,6 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
<SCRIPT,EXPRESSION>"NEXT" { RTOKEN(NEXT); }
<SCRIPT,EXPRESSION>"SIZEOF_HEADERS" { RTOKEN(SIZEOF_HEADERS); }
<SCRIPT,EXPRESSION>"SEGMENT_START" { RTOKEN(SEGMENT_START); }
-<SCRIPT>"MAP" { RTOKEN(MAP); }
<SCRIPT,EXPRESSION>"SIZEOF" { RTOKEN(SIZEOF); }
<SCRIPT>"TARGET" { RTOKEN(TARGET_K); }
<SCRIPT>"SEARCH_DIR" { RTOKEN(SEARCH_DIR); }
--
Alan Modra
More information about the Binutils
mailing list