diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ldlang.c | 4 | ||||
-rw-r--r-- | ld/ldlang.h | 11 | ||||
-rw-r--r-- | ld/ldlex.l | 9 |
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)())); + @@ -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); |