X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fldlang.h;h=4629883bcc4bec88422000d8445a1cb2014fc7fd;hb=eaeb0a9d5c65fd8dc19878b068e17f90a93a19c2;hp=fd0465ea1ab7c81abe6c2b9ef5965579c537e0fb;hpb=8a99a385a72553a657a1238d310f94bafad182be;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldlang.h b/ld/ldlang.h index fd0465ea1a..4629883bcc 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -1,6 +1,6 @@ /* ldlang.h - linker command language support Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -43,13 +43,19 @@ struct _fill_type typedef struct statement_list { - union lang_statement_union *head; - union lang_statement_union **tail; + union lang_statement_union * head; + union lang_statement_union ** tail; } lang_statement_list_type; +typedef struct memory_region_name_struct +{ + const char * name; + struct memory_region_name_struct * next; +} lang_memory_region_name; + typedef struct memory_region_struct { - char *name; + lang_memory_region_name name_list; struct memory_region_struct *next; bfd_vma origin; bfd_size_type length; @@ -429,7 +435,8 @@ struct lang_definedness_hash_entry /* Used by place_orphan to keep track of orphan sections and statements. */ -struct orphan_save { +struct orphan_save +{ const char *name; flagword flags; lang_output_section_statement_type *os; @@ -457,10 +464,10 @@ extern void lang_init (void); extern void lang_finish (void); -extern lang_memory_region_type *lang_memory_region_lookup - (const char *const, bfd_boolean); -extern lang_memory_region_type *lang_memory_region_default - (asection *); +extern lang_memory_region_type * lang_memory_region_lookup + (const char * const, bfd_boolean); +extern void lang_memory_region_alias + (const char *, const char *); extern void lang_map (void); extern void lang_set_flags @@ -476,6 +483,8 @@ extern lang_output_section_statement_type *lang_enter_output_section_statement etree_type *, int); extern void lang_final (void); +extern void lang_relax_sections + (bfd_boolean); extern void lang_process (void); extern void lang_section_start @@ -543,13 +552,19 @@ extern lang_input_statement_type *lang_add_input_file extern void lang_add_keepsyms_file (const char *); extern lang_output_section_statement_type *lang_output_section_statement_lookup - (const char *const, int, bfd_boolean); + (const char *, int, bfd_boolean); +extern lang_output_section_statement_type *next_matching_output_section_statement + (lang_output_section_statement_type *, int); extern void ldlang_add_undef (const char *const); extern void lang_add_output_format (const char *, const char *, const char *, int); extern void lang_list_init (lang_statement_list_type *); +extern void push_stat_ptr + (lang_statement_list_type *); +extern void pop_stat_ptr + (void); extern void lang_add_data (int type, union etree_union *); extern void lang_add_reloc