diff --git a/include/bfd.h b/include/bfd.h index 8d936bf6dd..a7cbc099cb 100644 --- a/include/bfd.h +++ b/include/bfd.h @@ -542,6 +542,12 @@ flagword flags; */ #define SEC_CONSTRUCTOR 0x100 + /* The section is a constuctor, and should be placed at the end of the .. + */ +#define SEC_CONSTRUCTOR_TEXT 0x1100 +#define SEC_CONSTRUCTOR_DATA 0x2100 +#define SEC_CONSTRUCTOR_BSS 0x3100 + /* The section has contents - a bss section could be @code{SEC_ALLOC} | @code{SEC_HAS_CONTENTS}, a debug section could be @code{SEC_HAS_CONTENTS} @@ -820,7 +826,6 @@ typedef struct symbol_cache_entry /* Used by the linker */ #define BSF_KEEP 0x10000 -#define BSF_WARNING 0x20000 #define BSF_KEEP_G 0x80000 /* Unused @@ -843,6 +848,22 @@ typedef struct symbol_cache_entry This bit is set by the target bfd part to convey this information. */ #define BSF_NOT_AT_END 0x40000 + + /* Signal that the symbol is the label of constructor section. + */ +#define BSF_CONSTRUCTOR 0x1000000 + + /* Signal that the symbol is a warning symbol. If the symbol is a warning + symbol, then the value field (I know this is tacky) will point to the + asymbol which when referenced will cause the warning. + */ +#define BSF_WARNING 0x2000000 + + /* Signal that the symbol is indirect. The value of the symbol is a + pointer to an undefined asymbol which contains the name to use + instead. + */ +#define BSF_INDIRECT 0x4000000 flagword flags; /* Aointer to the section to which this symbol is relative, or 0 if the @@ -1078,11 +1099,7 @@ PROTO(symindex, bfd_get_next_mapent, (bfd *, symindex, carsym **)); /* Used whilst processing archives. Sets the head of the chain of bfds contained in an archive to @var{new_head}. (see chapter on archives) */ -PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head)); - -PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int)); - - +PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int)); /* Initially provided a bfd containing an archive and NULL, opens a bfd on the first contained element and returns that. Subsequent calls to bfd_openr_next_archived_file should pass the archive and the previous diff --git a/include/stab.def b/include/stab.def index 93e3b33000..20ac0aa387 100755 --- a/include/stab.def +++ b/include/stab.def @@ -14,7 +14,22 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + + +/* Alias symbol. Any reference to this will turn into into one to the + next symbol in the table +*/ + +__define_stab (N_INDR, 0x0b, "INDR") + +/* Warning symbol. The text gives a warning message, the next symbol + in the table will be undefined. When the symbol is referenced, the + message is printed. +*/ + +__define_stab (N_WARNING, 0x1e,"WARNING") + /* Global variable. Only the name is significant. To find the address, look in the corresponding external symbol. */ __define_stab (N_GSYM, 0x20, "GSYM")