diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-06-10 10:55:58 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-06-10 10:55:58 +0000 |
commit | a7e831079363e3bb45f3172f6e59ba48e335682b (patch) | |
tree | ee4324eac9a9d66f189fab60498ec42b8226b7fc /gnu/usr.bin/binutils/ld/ldlang.h | |
parent | 467cb0a471d13c5186a6ee166e60b47c30da64e9 (diff) |
Bring Cygnus versions into the trunk, keeping our local patches
Diffstat (limited to 'gnu/usr.bin/binutils/ld/ldlang.h')
-rw-r--r-- | gnu/usr.bin/binutils/ld/ldlang.h | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/gnu/usr.bin/binutils/ld/ldlang.h b/gnu/usr.bin/binutils/ld/ldlang.h index 9feeef3984e..1d1e3d28153 100644 --- a/gnu/usr.bin/binutils/ld/ldlang.h +++ b/gnu/usr.bin/binutils/ld/ldlang.h @@ -1,5 +1,5 @@ /* ldlang.h - linker command language support - Copyright 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. This file is part of GLD, the Gnu Linker. @@ -97,6 +97,16 @@ typedef struct lang_output_statement_struct } lang_output_statement_type; +/* This structure holds a list of program headers describing segments + in which this section should be placed. */ + +struct lang_output_section_phdr_list +{ + struct lang_output_section_phdr_list *next; + const char *name; + boolean used; +}; + typedef struct lang_output_section_statement_struct { lang_statement_header_type header; @@ -118,7 +128,9 @@ typedef struct lang_output_section_statement_struct int subsection_alignment; /* alignment of components */ int section_alignment; /* alignment of start of section */ - union etree_union *load_base; + union etree_union *load_base; + + struct lang_output_section_phdr_list *phdrs; } lang_output_section_statement_type; @@ -223,6 +235,9 @@ typedef struct lang_input_statement_struct /* Whether to search for this entry as a dynamic archive. */ boolean dynamic; + /* Whether to include the entire contents of an archive. */ + boolean whole_archive; + boolean loaded; /* unsigned int globals_in_this_file;*/ @@ -306,6 +321,20 @@ typedef union lang_statement_union lang_group_statement_type group_statement; } lang_statement_union_type; +/* This structure holds information about a program header, from the + PHDRS command in the linker script. */ + +struct lang_phdr +{ + struct lang_phdr *next; + const char *name; + unsigned long type; + boolean filehdr; + boolean phdrs; + etree_type *at; + etree_type *flags; +}; + extern lang_output_section_statement_type *abs_output_section; extern boolean lang_has_input_file; extern etree_type *base; @@ -398,5 +427,9 @@ extern void wild_doit PARAMS ((lang_statement_list_type *ptr, asection *section, lang_output_section_statement_type *output, lang_input_statement_type *file)); +extern void lang_new_phdr + PARAMS ((const char *, etree_type *, boolean, boolean, etree_type *, + etree_type *)); +extern void lang_section_in_phdr PARAMS ((const char *)); #endif |