diff options
Diffstat (limited to 'contrib/binutils/bfd/section.c')
-rw-r--r-- | contrib/binutils/bfd/section.c | 332 |
1 files changed, 171 insertions, 161 deletions
diff --git a/contrib/binutils/bfd/section.c b/contrib/binutils/bfd/section.c index b5871e9..fce8e1e 100644 --- a/contrib/binutils/bfd/section.c +++ b/contrib/binutils/bfd/section.c @@ -1,6 +1,6 @@ /* Object file "section" support for the BFD library. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002 + 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Written by Cygnus Support. @@ -166,7 +166,7 @@ CODE_FRAGMENT . long symbol; .}; . -.typedef struct sec +.typedef struct bfd_section .{ . {* The name of the section; the name isn't a copy, the pointer is . the same as that passed to bfd_make_section. *} @@ -179,7 +179,7 @@ CODE_FRAGMENT . int index; . . {* The next section in the list belonging to the BFD, or NULL. *} -. struct sec *next; +. struct bfd_section *next; . . {* The field flags contains attributes of the section. Some . flags are read in from the object file, and some are @@ -377,10 +377,39 @@ CODE_FRAGMENT . {* A mark flag used by some linker backends for garbage collection. *} . unsigned int gc_mark : 1; . -. {* Used by the ELF code to mark sections which have been allocated -. to segments. *} +. {* The following flags are used by the ELF linker. *} +. +. {* Mark sections which have been allocated to segments. *} . unsigned int segment_mark : 1; . +. {* Type of sec_info information. *} +. unsigned int sec_info_type:3; +.#define ELF_INFO_TYPE_NONE 0 +.#define ELF_INFO_TYPE_STABS 1 +.#define ELF_INFO_TYPE_MERGE 2 +.#define ELF_INFO_TYPE_EH_FRAME 3 +.#define ELF_INFO_TYPE_JUST_SYMS 4 +. +. {* Nonzero if this section uses RELA relocations, rather than REL. *} +. unsigned int use_rela_p:1; +. +. {* Bits used by various backends. *} +. unsigned int has_tls_reloc:1; +. +. {* Nonzero if this section needs the relax finalize pass. *} +. unsigned int need_finalize_relax:1; +. +. {* Nonzero if this section has a gp reloc. *} +. unsigned int has_gp_reloc:1; +. +. {* Unused bits. *} +. unsigned int flag13:1; +. unsigned int flag14:1; +. unsigned int flag15:1; +. unsigned int flag16:4; +. unsigned int flag20:4; +. unsigned int flag24:8; +. . {* End of internal packed boolean fields. *} . . {* The virtual memory address of the section - where it will be @@ -416,7 +445,7 @@ CODE_FRAGMENT . bfd_vma output_offset; . . {* The output section through which to map on output. *} -. struct sec *output_section; +. struct bfd_section *output_section; . . {* The alignment requirement of the section, as an exponent of 2 - . e.g., 3 aligns to 2^3 (or 8). *} @@ -446,7 +475,7 @@ CODE_FRAGMENT . file_ptr line_filepos; . . {* Pointer to data for applications. *} -. PTR userdata; +. void *userdata; . . {* If the SEC_IN_MEMORY flag is set, this points to the actual . contents. *} @@ -464,6 +493,10 @@ CODE_FRAGMENT . {* Optional information about a COMDAT entry; NULL if not COMDAT. *} . struct bfd_comdat_info *comdat; . +. {* Points to the kept section if this section is a link-once section, +. and is discarded. *} +. struct bfd_section *kept_section; +. . {* When a section is being output, this value changes as more . linenumbers are written out. *} . file_ptr moving_line_filepos; @@ -471,7 +504,7 @@ CODE_FRAGMENT . {* What the section number is in the target world. *} . int target_index; . -. PTR used_by_bfd; +. void *used_by_bfd; . . {* If this is a constructor section then here is a list of the . relocations created to relocate items within it. *} @@ -481,8 +514,8 @@ CODE_FRAGMENT . bfd *owner; . . {* A symbol which points at this section only. *} -. struct symbol_cache_entry *symbol; -. struct symbol_cache_entry **symbol_ptr_ptr; +. struct bfd_symbol *symbol; +. struct bfd_symbol **symbol_ptr_ptr; . . struct bfd_link_order *link_order_head; . struct bfd_link_order *link_order_tail; @@ -499,18 +532,18 @@ CODE_FRAGMENT .#define BFD_IND_SECTION_NAME "*IND*" . .{* The absolute section. *} -.extern const asection bfd_abs_section; +.extern asection bfd_abs_section; .#define bfd_abs_section_ptr ((asection *) &bfd_abs_section) .#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr) .{* Pointer to the undefined section. *} -.extern const asection bfd_und_section; +.extern asection bfd_und_section; .#define bfd_und_section_ptr ((asection *) &bfd_und_section) .#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr) .{* Pointer to the common section. *} -.extern const asection bfd_com_section; +.extern asection bfd_com_section; .#define bfd_com_section_ptr ((asection *) &bfd_com_section) .{* Pointer to the indirect section. *} -.extern const asection bfd_ind_section; +.extern asection bfd_ind_section; .#define bfd_ind_section_ptr ((asection *) &bfd_ind_section) .#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr) . @@ -520,13 +553,12 @@ CODE_FRAGMENT . || ((SEC) == bfd_com_section_ptr) \ . || ((SEC) == bfd_ind_section_ptr)) . -.extern const struct symbol_cache_entry * const bfd_abs_symbol; -.extern const struct symbol_cache_entry * const bfd_com_symbol; -.extern const struct symbol_cache_entry * const bfd_und_symbol; -.extern const struct symbol_cache_entry * const bfd_ind_symbol; +.extern const struct bfd_symbol * const bfd_abs_symbol; +.extern const struct bfd_symbol * const bfd_com_symbol; +.extern const struct bfd_symbol * const bfd_und_symbol; +.extern const struct bfd_symbol * const bfd_ind_symbol; .#define bfd_get_section_size_before_reloc(section) \ -. ((section)->reloc_done ? (abort (), (bfd_size_type) 1) \ -. : (section)->_raw_size) +. ((section)->_raw_size) .#define bfd_get_section_size_after_reloc(section) \ . ((section)->reloc_done ? (section)->_cooked_size \ . : (abort (), (bfd_size_type) 1)) @@ -583,18 +615,27 @@ static const asymbol global_syms[] = #define STD_SECTION(SEC, FLAGS, SYM, NAME, IDX) \ const asymbol * const SYM = (asymbol *) &global_syms[IDX]; \ - const asection SEC = \ + asection SEC = \ /* name, id, index, next, flags, user_set_vma, reloc_done, */ \ { NAME, IDX, 0, NULL, FLAGS, 0, 0, \ \ /* linker_mark, linker_has_input, gc_mark, segment_mark, */ \ 0, 0, 1, 0, \ \ + /* sec_info_type, use_rela_p, has_tls_reloc, */ \ + 0, 0, 0, \ + \ + /* need_finalize_relax, has_gp_reloc, */ \ + 0, 0, \ + \ + /* flag13, flag14, flag15, flag16, flag20, flag24, */ \ + 0, 0, 0, 0, 0, 0, \ + \ /* vma, lma, _cooked_size, _raw_size, */ \ 0, 0, 0, 0, \ \ /* output_offset, output_section, alignment_power, */ \ - 0, (struct sec *) &SEC, 0, \ + 0, (struct bfd_section *) &SEC, 0, \ \ /* relocation, orelocation, reloc_count, filepos, rel_filepos, */ \ NULL, NULL, 0, 0, 0, \ @@ -602,17 +643,17 @@ static const asymbol global_syms[] = /* line_filepos, userdata, contents, lineno, lineno_count, */ \ 0, NULL, NULL, NULL, 0, \ \ - /* entsize, comdat, moving_line_filepos, */ \ - 0, NULL, 0, \ + /* entsize, comdat, kept_section, moving_line_filepos, */ \ + 0, NULL, NULL, 0, \ \ /* target_index, used_by_bfd, constructor_chain, owner, */ \ 0, NULL, NULL, NULL, \ \ /* symbol, */ \ - (struct symbol_cache_entry *) &global_syms[IDX], \ + (struct bfd_symbol *) &global_syms[IDX], \ \ /* symbol_ptr_ptr, */ \ - (struct symbol_cache_entry **) &SYM, \ + (struct bfd_symbol **) &SYM, \ \ /* link_order_head, link_order_tail */ \ NULL, NULL \ @@ -634,10 +675,9 @@ struct section_hash_entry /* Initialize an entry in the section hash table. */ struct bfd_hash_entry * -bfd_section_hash_newfunc (entry, table, string) - struct bfd_hash_entry *entry; - struct bfd_hash_table *table; - const char *string; +bfd_section_hash_newfunc (struct bfd_hash_entry *entry, + struct bfd_hash_table *table, + const char *string) { /* Allocate the structure if it has not already been allocated by a subclass. */ @@ -652,10 +692,8 @@ bfd_section_hash_newfunc (entry, table, string) /* Call the allocation method of the superclass. */ entry = bfd_hash_newfunc (entry, table, string); if (entry != NULL) - { - memset ((PTR) &((struct section_hash_entry *) entry)->section, - 0, sizeof (asection)); - } + memset (&((struct section_hash_entry *) entry)->section, 0, + sizeof (asection)); return entry; } @@ -666,12 +704,8 @@ bfd_section_hash_newfunc (entry, table, string) /* Initializes a new section. NEWSECT->NAME is already set. */ -static asection *bfd_section_init PARAMS ((bfd *, asection *)); - static asection * -bfd_section_init (abfd, newsect) - bfd *abfd; - asection *newsect; +bfd_section_init (bfd *abfd, asection *newsect) { static int section_id = 0x10; /* id 0 to 3 used by STD_SECTION. */ @@ -726,13 +760,12 @@ DESCRIPTION */ void -bfd_section_list_clear (abfd) - bfd *abfd; +bfd_section_list_clear (bfd *abfd) { abfd->sections = NULL; abfd->section_tail = &abfd->sections; abfd->section_count = 0; - memset ((PTR) abfd->section_htab.table, 0, + memset (abfd->section_htab.table, 0, abfd->section_htab.size * sizeof (struct bfd_hash_entry *)); } @@ -741,7 +774,7 @@ FUNCTION bfd_get_section_by_name SYNOPSIS - asection *bfd_get_section_by_name(bfd *abfd, const char *name); + asection *bfd_get_section_by_name (bfd *abfd, const char *name); DESCRIPTION Run through @var{abfd} and return the one of the @@ -755,13 +788,11 @@ DESCRIPTION */ asection * -bfd_get_section_by_name (abfd, name) - bfd *abfd; - const char *name; +bfd_get_section_by_name (bfd *abfd, const char *name) { struct section_hash_entry *sh; - sh = section_hash_lookup (&abfd->section_htab, name, false, false); + sh = section_hash_lookup (&abfd->section_htab, name, FALSE, FALSE); if (sh != NULL) return &sh->section; @@ -773,9 +804,8 @@ FUNCTION bfd_get_unique_section_name SYNOPSIS - char *bfd_get_unique_section_name(bfd *abfd, - const char *templat, - int *count); + char *bfd_get_unique_section_name + (bfd *abfd, const char *templat, int *count); DESCRIPTION Invent a section name that is unique in @var{abfd} by tacking @@ -786,17 +816,14 @@ DESCRIPTION */ char * -bfd_get_unique_section_name (abfd, templat, count) - bfd *abfd; - const char *templat; - int *count; +bfd_get_unique_section_name (bfd *abfd, const char *templat, int *count) { int num; unsigned int len; char *sname; len = strlen (templat); - sname = bfd_malloc ((bfd_size_type) len + 8); + sname = bfd_malloc (len + 8); if (sname == NULL) return NULL; memcpy (sname, templat, len); @@ -811,7 +838,7 @@ bfd_get_unique_section_name (abfd, templat, count) abort (); sprintf (sname + len, ".%d", num++); } - while (section_hash_lookup (&abfd->section_htab, sname, false, false)); + while (section_hash_lookup (&abfd->section_htab, sname, FALSE, FALSE)); if (count != NULL) *count = num; @@ -823,7 +850,7 @@ FUNCTION bfd_make_section_old_way SYNOPSIS - asection *bfd_make_section_old_way(bfd *abfd, const char *name); + asection *bfd_make_section_old_way (bfd *abfd, const char *name); DESCRIPTION Create a new empty section called @var{name} @@ -844,9 +871,7 @@ DESCRIPTION */ asection * -bfd_make_section_old_way (abfd, name) - bfd *abfd; - const char *name; +bfd_make_section_old_way (bfd *abfd, const char *name) { struct section_hash_entry *sh; asection *newsect; @@ -869,7 +894,7 @@ bfd_make_section_old_way (abfd, name) if (strcmp (name, BFD_IND_SECTION_NAME) == 0) return bfd_ind_section_ptr; - sh = section_hash_lookup (&abfd->section_htab, name, true, false); + sh = section_hash_lookup (&abfd->section_htab, name, TRUE, FALSE); if (sh == NULL) return NULL; @@ -889,7 +914,7 @@ FUNCTION bfd_make_section_anyway SYNOPSIS - asection *bfd_make_section_anyway(bfd *abfd, const char *name); + asection *bfd_make_section_anyway (bfd *abfd, const char *name); DESCRIPTION Create a new empty section called @var{name} and attach it to the end of @@ -902,9 +927,7 @@ DESCRIPTION */ sec_ptr -bfd_make_section_anyway (abfd, name) - bfd *abfd; - const char *name; +bfd_make_section_anyway (bfd *abfd, const char *name) { struct section_hash_entry *sh; asection *newsect; @@ -915,7 +938,7 @@ bfd_make_section_anyway (abfd, name) return NULL; } - sh = section_hash_lookup (&abfd->section_htab, name, true, false); + sh = section_hash_lookup (&abfd->section_htab, name, TRUE, FALSE); if (sh == NULL) return NULL; @@ -926,7 +949,7 @@ bfd_make_section_anyway (abfd, name) section_htab without generating a unique section name and that would be pointless; We don't need to traverse the hash table. */ - newsect = (asection *) bfd_zalloc (abfd, sizeof (asection)); + newsect = bfd_zalloc (abfd, sizeof (asection)); if (newsect == NULL) return NULL; } @@ -940,7 +963,7 @@ FUNCTION bfd_make_section SYNOPSIS - asection *bfd_make_section(bfd *, const char *name); + asection *bfd_make_section (bfd *, const char *name); DESCRIPTION Like <<bfd_make_section_anyway>>, but return <<NULL>> (without calling @@ -950,9 +973,7 @@ DESCRIPTION */ asection * -bfd_make_section (abfd, name) - bfd *abfd; - const char *name; +bfd_make_section (bfd *abfd, const char *name) { struct section_hash_entry *sh; asection *newsect; @@ -969,7 +990,7 @@ bfd_make_section (abfd, name) || strcmp (name, BFD_IND_SECTION_NAME) == 0) return NULL; - sh = section_hash_lookup (&abfd->section_htab, name, true, false); + sh = section_hash_lookup (&abfd->section_htab, name, TRUE, FALSE); if (sh == NULL) return NULL; @@ -977,7 +998,7 @@ bfd_make_section (abfd, name) if (newsect->name != NULL) { /* Section already exists. */ - return newsect; + return NULL; } newsect->name = name; @@ -989,12 +1010,13 @@ FUNCTION bfd_set_section_flags SYNOPSIS - boolean bfd_set_section_flags(bfd *abfd, asection *sec, flagword flags); + bfd_boolean bfd_set_section_flags + (bfd *abfd, asection *sec, flagword flags); DESCRIPTION Set the attributes of the section @var{sec} in the BFD - @var{abfd} to the value @var{flags}. Return <<true>> on success, - <<false>> on error. Possible error returns are: + @var{abfd} to the value @var{flags}. Return <<TRUE>> on success, + <<FALSE>> on error. Possible error returns are: o <<bfd_error_invalid_operation>> - The section cannot have one or more of the attributes @@ -1003,12 +1025,10 @@ DESCRIPTION */ -/*ARGSUSED*/ -boolean -bfd_set_section_flags (abfd, section, flags) - bfd *abfd ATTRIBUTE_UNUSED; - sec_ptr section; - flagword flags; +bfd_boolean +bfd_set_section_flags (bfd *abfd ATTRIBUTE_UNUSED, + sec_ptr section, + flagword flags) { #if 0 /* If you try to copy a text section from an input file (where it @@ -1019,12 +1039,12 @@ bfd_set_section_flags (abfd, section, flags) if ((flags & bfd_applicable_section_flags (abfd)) != flags) { bfd_set_error (bfd_error_invalid_operation); - return false; + return FALSE; } #endif section->flags = flags; - return true; + return TRUE; } /* @@ -1032,34 +1052,31 @@ FUNCTION bfd_map_over_sections SYNOPSIS - void bfd_map_over_sections(bfd *abfd, - void (*func) (bfd *abfd, - asection *sect, - PTR obj), - PTR obj); + void bfd_map_over_sections + (bfd *abfd, + void (*func) (bfd *abfd, asection *sect, void *obj), + void *obj); DESCRIPTION Call the provided function @var{func} for each section attached to the BFD @var{abfd}, passing @var{obj} as an argument. The function will be called as if by -| func(abfd, the_section, obj); +| func (abfd, the_section, obj); - This is the prefered method for iterating over sections; an + This is the preferred method for iterating over sections; an alternative would be to use a loop: | section *p; | for (p = abfd->sections; p != NULL; p = p->next) -| func(abfd, p, ...) +| func (abfd, p, ...) */ -/*VARARGS2*/ void -bfd_map_over_sections (abfd, operation, user_storage) - bfd *abfd; - void (*operation) PARAMS ((bfd * abfd, asection * sect, PTR obj)); - PTR user_storage; +bfd_map_over_sections (bfd *abfd, + void (*operation) (bfd *, asection *, void *), + void *user_storage) { asection *sect; unsigned int i = 0; @@ -1076,11 +1093,12 @@ FUNCTION bfd_set_section_size SYNOPSIS - boolean bfd_set_section_size(bfd *abfd, asection *sec, bfd_size_type val); + bfd_boolean bfd_set_section_size + (bfd *abfd, asection *sec, bfd_size_type val); DESCRIPTION Set @var{sec} to the size @var{val}. If the operation is - ok, then <<true>> is returned, else <<false>>. + ok, then <<TRUE>> is returned, else <<FALSE>>. Possible error returns: o <<bfd_error_invalid_operation>> - @@ -1088,11 +1106,8 @@ DESCRIPTION */ -boolean -bfd_set_section_size (abfd, ptr, val) - bfd *abfd; - sec_ptr ptr; - bfd_size_type val; +bfd_boolean +bfd_set_section_size (bfd *abfd, sec_ptr ptr, bfd_size_type val) { /* Once you've started writing to any section you cannot create or change the size of any others. */ @@ -1100,13 +1115,13 @@ bfd_set_section_size (abfd, ptr, val) if (abfd->output_has_begun) { bfd_set_error (bfd_error_invalid_operation); - return false; + return FALSE; } ptr->_cooked_size = val; ptr->_raw_size = val; - return true; + return TRUE; } /* @@ -1114,9 +1129,9 @@ FUNCTION bfd_set_section_contents SYNOPSIS - boolean bfd_set_section_contents (bfd *abfd, asection *section, - PTR data, file_ptr offset, - bfd_size_type count); + bfd_boolean bfd_set_section_contents + (bfd *abfd, asection *section, const void *data, + file_ptr offset, bfd_size_type count); DESCRIPTION Sets the contents of the section @var{section} in BFD @@ -1124,7 +1139,7 @@ DESCRIPTION data is written to the output section starting at offset @var{offset} for @var{count} octets. - Normally <<true>> is returned, else <<false>>. Possible error + Normally <<TRUE>> is returned, else <<FALSE>>. Possible error returns are: o <<bfd_error_no_contents>> - The output section does not have the <<SEC_HAS_CONTENTS>> @@ -1136,25 +1151,24 @@ DESCRIPTION */ -#define bfd_get_section_size_now(abfd,sec) \ -(sec->reloc_done \ - ? bfd_get_section_size_after_reloc (sec) \ - : bfd_get_section_size_before_reloc (sec)) - -boolean -bfd_set_section_contents (abfd, section, location, offset, count) - bfd *abfd; - sec_ptr section; - PTR location; - file_ptr offset; - bfd_size_type count; +#define bfd_get_section_size_now(abfd, sec) \ + (sec->reloc_done \ + ? bfd_get_section_size_after_reloc (sec) \ + : bfd_get_section_size_before_reloc (sec)) + +bfd_boolean +bfd_set_section_contents (bfd *abfd, + sec_ptr section, + const void *location, + file_ptr offset, + bfd_size_type count) { bfd_size_type sz; if (!(bfd_get_section_flags (abfd, section) & SEC_HAS_CONTENTS)) { bfd_set_error (bfd_error_no_contents); - return (false); + return FALSE; } sz = bfd_get_section_size_now (abfd, section); @@ -1164,7 +1178,7 @@ bfd_set_section_contents (abfd, section, location, offset, count) || count != (size_t) count) { bfd_set_error (bfd_error_bad_value); - return false; + return FALSE; } switch (abfd->direction) @@ -1172,7 +1186,7 @@ bfd_set_section_contents (abfd, section, location, offset, count) case read_direction: case no_direction: bfd_set_error (bfd_error_invalid_operation); - return false; + return FALSE; case write_direction: break; @@ -1181,23 +1195,23 @@ bfd_set_section_contents (abfd, section, location, offset, count) /* File is opened for update. `output_has_begun' some time ago when the file was created. Do not recompute sections sizes or alignments in _bfd_set_section_content. */ - abfd->output_has_begun = true; + abfd->output_has_begun = TRUE; break; } /* Record a copy of the data in memory if desired. */ if (section->contents - && location != (PTR) (section->contents + offset)) + && location != section->contents + offset) memcpy (section->contents + offset, location, (size_t) count); if (BFD_SEND (abfd, _bfd_set_section_contents, (abfd, section, location, offset, count))) { - abfd->output_has_begun = true; - return true; + abfd->output_has_begun = TRUE; + return TRUE; } - return false; + return FALSE; } /* @@ -1205,9 +1219,9 @@ FUNCTION bfd_get_section_contents SYNOPSIS - boolean bfd_get_section_contents (bfd *abfd, asection *section, - PTR location, file_ptr offset, - bfd_size_type count); + bfd_boolean bfd_get_section_contents + (bfd *abfd, asection *section, void *location, file_ptr offset, + bfd_size_type count); DESCRIPTION Read data from @var{section} in BFD @var{abfd} @@ -1218,27 +1232,26 @@ DESCRIPTION If the contents of a constructor with the <<SEC_CONSTRUCTOR>> flag set are requested or if the section does not have the <<SEC_HAS_CONTENTS>> flag set, then the @var{location} is filled - with zeroes. If no errors occur, <<true>> is returned, else - <<false>>. + with zeroes. If no errors occur, <<TRUE>> is returned, else + <<FALSE>>. */ -boolean -bfd_get_section_contents (abfd, section, location, offset, count) - bfd *abfd; - sec_ptr section; - PTR location; - file_ptr offset; - bfd_size_type count; +bfd_boolean +bfd_get_section_contents (bfd *abfd, + sec_ptr section, + void *location, + file_ptr offset, + bfd_size_type count) { bfd_size_type sz; if (section->flags & SEC_CONSTRUCTOR) { memset (location, 0, (size_t) count); - return true; + return TRUE; } - /* Even if reloc_done is true, this function reads unrelocated + /* Even if reloc_done is TRUE, this function reads unrelocated contents, so we want the raw size. */ sz = section->_raw_size; if ((bfd_size_type) offset > sz @@ -1247,23 +1260,23 @@ bfd_get_section_contents (abfd, section, location, offset, count) || count != (size_t) count) { bfd_set_error (bfd_error_bad_value); - return false; + return FALSE; } if (count == 0) /* Don't bother. */ - return true; + return TRUE; if ((section->flags & SEC_HAS_CONTENTS) == 0) { memset (location, 0, (size_t) count); - return true; + return TRUE; } if ((section->flags & SEC_IN_MEMORY) != 0) { memcpy (location, section->contents + offset, (size_t) count); - return true; + return TRUE; } return BFD_SEND (abfd, _bfd_get_section_contents, @@ -1275,13 +1288,13 @@ FUNCTION bfd_copy_private_section_data SYNOPSIS - boolean bfd_copy_private_section_data (bfd *ibfd, asection *isec, - bfd *obfd, asection *osec); + bfd_boolean bfd_copy_private_section_data + (bfd *ibfd, asection *isec, bfd *obfd, asection *osec); DESCRIPTION Copy private section information from @var{isec} in the BFD @var{ibfd} to the section @var{osec} in the BFD @var{obfd}. - Return <<true>> on success, <<false>> on error. Possible error + Return <<TRUE>> on success, <<FALSE>> on error. Possible error returns are: o <<bfd_error_no_memory>> - @@ -1298,7 +1311,7 @@ FUNCTION SYNOPSIS void _bfd_strip_section_from_output - (struct bfd_link_info *info, asection *section); + (struct bfd_link_info *info, asection *section); DESCRIPTION Remove @var{section} from the output. If the output section @@ -1309,9 +1322,7 @@ DESCRIPTION to remove sections. */ void -_bfd_strip_section_from_output (info, s) - struct bfd_link_info *info; - asection *s; +_bfd_strip_section_from_output (struct bfd_link_info *info, asection *s) { asection *os; asection *is; @@ -1343,16 +1354,15 @@ FUNCTION bfd_generic_discard_group SYNOPSIS - boolean bfd_generic_discard_group (bfd *abfd, asection *group); + bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group); DESCRIPTION Remove all members of @var{group} from the output. */ -boolean -bfd_generic_discard_group (abfd, group) - bfd *abfd ATTRIBUTE_UNUSED; - asection *group ATTRIBUTE_UNUSED; +bfd_boolean +bfd_generic_discard_group (bfd *abfd ATTRIBUTE_UNUSED, + asection *group ATTRIBUTE_UNUSED) { - return true; + return TRUE; } |