PR 34670 remove TRUNCATE support from mri ld scripts

Alan Modra amodra@gmail.com
Wed Sep 23 23:24:37 GMT 2026


Another undocumented and unimplemented feature.  Appeared in 1993.

diff --git a/ld/ldgram.y b/ld/ldgram.y
index f8bdf70fd85..070054d6ed0 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -154,7 +154,7 @@ static void yyerror (const char *);
 %type <token> assign_op atype attributes_opt sect_constraint opt_align_with_input
 %type <name>  filename
 %token CHIP LIST SECT ABSOLUTE  LOAD NEWLINE ENDWORD ORDER NAMEWORD ASSERT_K
-%token LOG2CEIL FORMAT PUBLIC DEFSYMEND BASE ALIAS TRUNCATE REL
+%token LOG2CEIL FORMAT PUBLIC DEFSYMEND BASE ALIAS REL
 %token INPUT_SCRIPT INPUT_MRI_SCRIPT INPUT_DEFSYM CASE EXTERN START
 %token <name> VERS_TAG VERS_IDENTIFIER
 %token GLOBAL LOCAL VERSIONK INPUT_VERSION_SCRIPT INPUT_SECTION_ORDERING_SCRIPT
@@ -249,8 +249,6 @@ mri_script_command:
 			{ mri_alias ($2, 0, (int) $4.integer); }
 	|	BASE	 exp
 			{ mri_base($2); }
-	|	TRUNCATE INT
-		{ mri_truncate ((unsigned int) $2.integer); }
 	|	CASE casesymlist
 	|	EXTERN extern_name_list
 	|	INCLUDE filename
diff --git a/ld/ldlex.l b/ld/ldlex.l
index 791b3c84b79..e15da25e404 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -361,7 +361,6 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
 <MRI>"CHIP"			{ RTOKEN(CHIP); }
 <MRI>"BASE"			{ RTOKEN(BASE); }
 <MRI>"ALIAS"			{ RTOKEN(ALIAS); }
-<MRI>"TRUNCATE"			{ RTOKEN(TRUNCATE); }
 <MRI>"LOAD"			{ RTOKEN(LOAD); }
 <MRI>"PUBLIC"			{ RTOKEN(PUBLIC); }
 <MRI>"ORDER"			{ RTOKEN(ORDER); }
@@ -378,7 +377,6 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([*?.$_a-zA-Z0-9\[\]\-\!\^\\]|::)*
 <MRI>"chip"			{ RTOKEN(CHIP); }
 <MRI>"base"			{ RTOKEN(BASE); }
 <MRI>"alias"			{ RTOKEN(ALIAS); }
-<MRI>"truncate"			{ RTOKEN(TRUNCATE); }
 <MRI>"load"			{ RTOKEN(LOAD); }
 <MRI>"public"			{ RTOKEN(PUBLIC); }
 <MRI>"order"			{ RTOKEN(ORDER); }
diff --git a/ld/mri.c b/ld/mri.c
index 0d137377ce5..2c0890b231d 100644
--- a/ld/mri.c
+++ b/ld/mri.c
@@ -45,7 +45,6 @@ struct section_name_struct {
   int ok_to_load;
 };
 
-static unsigned int symbol_truncate = 10000;
 static etree_type *base; /* Relocation base - or null */
 
 static struct section_name_struct *order;
@@ -308,9 +307,3 @@ mri_alignmod (const char *name, etree_type *exp)
 {
   mri_add_to_list (&subalignment, name, 0, 0, 0, exp);
 }
-
-void
-mri_truncate (unsigned int exp)
-{
-  symbol_truncate = exp;
-}
diff --git a/ld/mri.h b/ld/mri.h
index d093b84cf4c..3be0eeabf01 100644
--- a/ld/mri.h
+++ b/ld/mri.h
@@ -32,7 +32,6 @@ extern void mri_format (const char *);
 extern void mri_public (const char *, etree_type *);
 extern void mri_align (const char *, etree_type *);
 extern void mri_alignmod (const char *, etree_type *);
-extern void mri_truncate (unsigned int);
 extern void mri_draw_tree (void);
 
 #endif

-- 
Alan Modra


More information about the Binutils mailing list