diff options
author | Steve Chamberlain <steve@cygnus> | 1991-04-14 03:22:42 +0000 |
---|---|---|
committer | Steve Chamberlain <steve@cygnus> | 1991-04-14 03:22:42 +0000 |
commit | 1418c83b393c2a5d08cc56b306272aab660fbd9d (patch) | |
tree | 607a59985eb915618ca8943a4c0b377ef17a7f72 /ld/ldlang.h | |
parent | da56abdf49af3e87f4b8e105606b0eee7c84b7f1 (diff) | |
download | gdb-1418c83b393c2a5d08cc56b306272aab660fbd9d.zip gdb-1418c83b393c2a5d08cc56b306272aab660fbd9d.tar.gz gdb-1418c83b393c2a5d08cc56b306272aab660fbd9d.tar.bz2 |
checkpoint before a merge
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r-- | ld/ldlang.h | 81 |
1 files changed, 39 insertions, 42 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h index ab102a5..5d8f525 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -60,7 +60,6 @@ union lang_statement_union *next; lang_address_statement_enum, lang_wild_statement_enum, lang_input_section_enum, - lang_common_statement_enum, lang_object_symbols_statement_enum, lang_fill_statement_enum, lang_data_statement_enum, @@ -83,13 +82,13 @@ typedef struct typedef struct lang_target_statement_struct { lang_statement_header_type header; - char *target; + CONST char *target; } lang_target_statement_type; typedef struct lang_output_statement_struct { lang_statement_header_type header; - char *name; + CONST char *name; } lang_output_statement_type; @@ -98,9 +97,9 @@ typedef struct lang_output_section_statement_struct lang_statement_header_type header; union etree_union *addr_tree; lang_statement_list_type children; - char *memspec; + CONST char *memspec; union lang_statement_union *next; - char *name; + CONST char *name; unsigned long subsection_alignment; boolean processed; @@ -122,7 +121,7 @@ typedef struct { typedef struct { lang_statement_header_type header; -fill_type fill; + fill_type fill; } lang_fill_statement_type; typedef struct { @@ -141,11 +140,11 @@ typedef struct lang_input_statement_struct { lang_statement_header_type header; /* Name of this file. */ - char *filename; + CONST char *filename; /* Name to use for the symbol giving address of text start */ /* Usually the same as filename, but for a file spec'd with -l this is the -l switch itself rather than the filename. */ - char *local_sym_name; + CONST char *local_sym_name; /* Describe the layout of the contents of the file */ @@ -165,15 +164,6 @@ typedef struct lang_input_statement_struct asymbol **asymbols; unsigned int symbol_count; - /* Next two used only if `relocatable_output' or if needed for */ - /* output of undefined reference line numbers. */ - /* Text reloc info saved by `write_text' for `coptxtrel'. */ - - - /* Offset in bytes in the output file symbol table - of the first local symbol for this file. Set by `write_file_symbols'. */ - int local_syms_offset; - /* For library members only */ /* For a library, points to chain of entries for the library members. */ @@ -187,29 +177,29 @@ typedef struct lang_input_statement_struct struct lang_input_statement_struct *superfile; /* For library member, points to next entry for next member. */ struct lang_input_statement_struct *chain; - /* Point to the next file - whatever it is, wanders up and down archives */ + /* Point to the next file - whatever it is, wanders up and down + archives */ + union lang_statement_union *next; /* Point to the next file, but skips archive contents */ union lang_statement_union *next_real_file; boolean is_archive; - /* 1 if file's header has been read into this structure. */ - boolean header_read_flag; - /* 1 means search a set of directories for this file. */ boolean search_dirs_flag; /* 1 means this is base file of incremental load. Do not load this file's text or data. Also default text_start to after this file's bss. */ + boolean just_syms_flag; boolean loaded; /* unsigned int globals_in_this_file;*/ - char *target; + CONST char *target; boolean real; asection *common_section; @@ -220,6 +210,7 @@ typedef struct { lang_statement_header_type header; asection *section; lang_input_statement_type *ifile; + } lang_input_section_type; @@ -231,14 +222,14 @@ typedef struct { typedef struct lang_wild_statement_struct { lang_statement_header_type header; - char *section_name; - char *filename; +CONST char *section_name; +CONST char *filename; lang_statement_list_type children; } lang_wild_statement_type; typedef struct lang_address_statement_struct { lang_statement_header_type header; - char *section_name; + CONST char *section_name; union etree_union *address; } lang_address_statement_type; @@ -273,32 +264,34 @@ typedef union lang_statement_union PROTO(void,lang_init,(void)); -PROTO(struct memory_region_struct ,*lang_memory_region_lookup,(char *)); -PROTO(struct lang_output_section_statement_struct *,lang_output_section_find,(char *)); +PROTO(struct memory_region_struct , + *lang_memory_region_lookup,(CONST + char *CONST)); -PROTO(void ,lang_map,(struct _iobuf *)); -PROTO(void,lang_set_flags,(lang_section_flags_type *, char *)); -PROTO(void,lang_add_output,(char *)); + +PROTO(void ,lang_map,(FILE *)); +PROTO(void,lang_set_flags,(lang_section_flags_type *, CONST char *)); +PROTO(void,lang_add_output,(CONST char *)); PROTO(void,lang_final,(void)); -PROTO(struct symbol_cache_entry *,create_symbol,(char *, unsigned int, struct sec_struct *)); +PROTO(struct symbol_cache_entry *,create_symbol,(CONST char *, unsigned int, struct sec_struct *)); PROTO(void ,lang_process,(void)); -PROTO(void ,lang_section_start,(char *, union etree_union *)); -PROTO(void,lang_add_entry,(char *)); -PROTO(void,lang_add_target,(char *)); -PROTO(void,lang_add_wild,(char *, char *)); -PROTO(void,lang_add_map,(char *)); +PROTO(void ,lang_section_start,(CONST char *, union etree_union *)); +PROTO(void,lang_add_entry,(CONST char *)); +PROTO(void,lang_add_target,(CONST char *)); +PROTO(void,lang_add_wild,(CONST char *CONST , CONST char *CONST)); +PROTO(void,lang_add_map,(CONST char *)); PROTO(void,lang_add_fill,(int)); PROTO(void,lang_add_assignment,(union etree_union *)); PROTO(void,lang_add_attribute,(enum statement_enum)); -PROTO(void,lang_startup,(char *)); +PROTO(void,lang_startup,(CONST char *)); PROTO(void,lang_float,(enum boolean)); -PROTO(void,lang_leave_output_section_statement,(bfd_vma, char *)); -PROTO(void,lang_abs_symbol_at_end_of,(char *, char *)); +PROTO(void,lang_leave_output_section_statement,(bfd_vma, CONST char *)); +PROTO(void,lang_abs_symbol_at_end_of,(CONST char *, CONST char *)); +PROTO(void,lang_abs_symbol_at_beginning_of,(CONST char *, CONST char *)); PROTO(void,lang_statement_append,(struct statement_list *, union lang_statement_union *, union lang_statement_union **)); PROTO(void, lang_for_each_file,(void (*dothis)(lang_input_statement_type *))); -#define LANG_FOR_EACH_ASYMBOL(asymbol) \ #define LANG_FOR_EACH_INPUT_STATEMENT(statement) \ extern lang_statement_list_type file_chain; \ @@ -337,11 +330,15 @@ PROTO(void, lang_for_each_file,(void (*dothis)(lang_input_statement_type *))); PROTO(void, lang_process,(void)); PROTO(void, ldlang_add_file,(lang_input_statement_type *)); -PROTO(lang_output_section_statement_type *,lang_output_section_find,()); +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_input_file_enum_type file_type, char *target)); PROTO(lang_output_section_statement_type *, -lang_output_section_statement_lookup,(char *name)); +lang_output_section_statement_lookup,(CONST char * CONST name)); + +PROTO(void, ldlang_add_undef,(CONST char *CONST name)); + |