aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ldlang.c4
-rw-r--r--ld/ldlang.h11
-rw-r--r--ld/ldlex.l9
3 files changed, 19 insertions, 5 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 9483a77..191dd48 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -302,9 +302,9 @@ DEFUN(new_afile, (name, file_type, target),
lang_input_statement_type *
DEFUN(lang_add_input_file,(name, file_type, target),
- char *name AND
+ CONST char *name AND
lang_input_file_enum_type file_type AND
- char *target)
+ CONST char *target)
{
/* Look it up or build a new one */
lang_has_input_file = true;
diff --git a/ld/ldlang.h b/ld/ldlang.h
index acd039d..d5dc21b 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -43,6 +43,8 @@ typedef struct memory_region_struct {
bfd_offset length;
bfd_vma current;
int flags;
+ boolean had_full_message;
+
} lang_memory_region_type ;
typedef struct lang_statement_header_struct
@@ -256,7 +258,7 @@ PROTO(struct memory_region_struct ,
char *CONST));
-PROTO(void ,lang_map,(FILE *));
+PROTO(void ,lang_map,(void));
PROTO(void,lang_set_flags,(int *, CONST char *));
PROTO(void,lang_add_output,(CONST char *));
@@ -321,9 +323,9 @@ PROTO(lang_output_section_statement_type
*,lang_output_section_find,(CONST char * CONST));
PROTO(lang_input_statement_type *,
- lang_add_input_file,(char *name,
+ lang_add_input_file,(CONST char *name,
lang_input_file_enum_type file_type,
- char *target));
+ CONST char *target));
PROTO(lang_output_section_statement_type *,
lang_output_section_statement_lookup,(CONST char * CONST name));
@@ -334,3 +336,6 @@ PROTO(void, lang_add_output_format,(CONST char *));
void EXFUN(lang_list_init,( lang_statement_list_type*));
void EXFUN(lang_add_data,(int type, union etree_union *));
+
+void EXFUN(lang_for_each_statement,(void (*func)()));
+
diff --git a/ld/ldlex.l b/ld/ldlex.l
index f4ffc4c..28e067b 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -288,6 +288,15 @@ WHITE [ \t\n]+
<MRI>"LIST".* { RTOKEN(LIST); /* LIST and ignore to end of line */ }
<MRI>"SECT" { RTOKEN(SECT); }
<MRI>"ABSOLUTE" { RTOKEN(ABSOLUTE); }
+<MRI>"end" { RTOKEN(ENDWORD); }
+<MRI>"chip" { RTOKEN(CHIP); }
+<MRI>"load" { RTOKEN(LOAD); }
+<MRI>"order" { RTOKEN(ORDER); }
+<MRI>"name" { RTOKEN(NAMEWORD); }
+<MRI>"format" { RTOKEN(FORMAT); }
+<MRI>"list".* { RTOKEN(LIST); /* LIST and ignore to end of line */ }
+<MRI>"sect" { RTOKEN(SECT); }
+<MRI>"absolute" { RTOKEN(ABSOLUTE); }
<MRI,BOTH,EXPRESSION>{FILENAMECHAR1}{FILENAMECHAR}* {
yylval.name = buystring(yytext);