aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-03-02 17:27:36 +0000
committerNick Clifton <nickc@redhat.com>2009-03-02 17:27:36 +0000
commit4a93e18003bc8a90c03a26a27c368fbc5a4e0e84 (patch)
tree1ade88f5dc05ea6287a283b4e323fc773922b789 /ld/ldlang.h
parent220df88bffbd9b2acf1d86a744ffae70c9fff248 (diff)
downloadfsf-binutils-gdb-4a93e18003bc8a90c03a26a27c368fbc5a4e0e84.zip
fsf-binutils-gdb-4a93e18003bc8a90c03a26a27c368fbc5a4e0e84.tar.gz
fsf-binutils-gdb-4a93e18003bc8a90c03a26a27c368fbc5a4e0e84.tar.bz2
* ldgram.y: Add support for REGION_ALIAS operator.
* ldlang.c: Likewise. * ldlang.h: Likewise. * ldlex.l: Likewise. * NEWS: Mention the new feature. * ld.texinfo: Document the new feature. * ld-scripts/regions-alias-1.t: New file. * ld-scripts/regions-alias-2.t: New file. * ld-scripts/regions-alias-3.t: New file. * ld-scripts/regions-alias-4.t: New file. * ld-scripts/script.exp: Run region alias tests.
Diffstat (limited to 'ld/ldlang.h')
-rw-r--r--ld/ldlang.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/ld/ldlang.h b/ld/ldlang.h
index daf1255..0b57b85 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -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