X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=ld%2Fld.h;fp=ld%2Fld.h;h=10d2b3382730e8ff7d871083ba6c69450c5e6bbf;hp=69371df880d5ada9fc04b6f50d83c5569a2bdc2c;hb=d5da4f291af551c0b8b79e1d4a9b173d60e5c10e;hpb=7b5ea4fcdf2819e070665ab5610f8b48e3867c10 diff --git a/ld/ld.h b/ld/ld.h index 69371df..10d2b33 100644 --- a/ld/ld.h +++ b/ld/ld.h @@ -1,6 +1,6 @@ /* ld.h -- general linker header file Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -32,24 +32,6 @@ #define SEEK_END 2 #endif -#if defined(__GNUC__) && !defined(C_ALLOCA) -# undef alloca -# define alloca __builtin_alloca -#else -# if defined(HAVE_ALLOCA_H) && !defined(C_ALLOCA) -# include -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -# if !defined (__STDC__) && !defined (__hpux) -char *alloca (); -# else -void *alloca (); -# endif /* __STDC__, __hpux */ -# endif /* alloca */ -# endif /* HAVE_ALLOCA_H */ -#endif - - #ifdef HAVE_LOCALE_H # ifndef ENABLE_NLS /* The Solaris version of locale.h always includes libintl.h. If we have @@ -99,6 +81,8 @@ typedef struct name_list { } name_list; +typedef enum {sort_none, sort_ascending, sort_descending} sort_order; + /* A wildcard specification. */ typedef enum { @@ -130,6 +114,7 @@ typedef struct fat_user_section_struct { list of hash table entries for symbols defined in this section. */ struct map_symbol_def *map_symbol_def_head; struct map_symbol_def **map_symbol_def_tail; + unsigned long map_symbol_def_count; } fat_section_userdata_type; #define get_userdata(x) ((x)->userdata) @@ -139,6 +124,22 @@ typedef struct fat_user_section_struct { #define LONG_SIZE (4) #define QUAD_SIZE (8) +enum endian_enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE }; + +enum symbolic_enum + { + symbolic_unset = 0, + symbolic, + symbolic_functions, + }; + +enum dynamic_list_enum + { + dynamic_list_unset = 0, + dynamic_list_data, + dynamic_list + }; + typedef struct { /* 1 => assign space to common symbols even if `relocatable_output'. */ bfd_boolean force_common_definition; @@ -165,10 +166,9 @@ typedef struct { search. */ bfd_boolean warn_search_mismatch; - - /* If TRUE (the default) check section addresses, once compute, - fpor overlaps. */ - bfd_boolean check_section_addresses; + /* If non-zero check section addresses, once computed, + for overlaps. Relocatable links only check when this is > 0. */ + signed char check_section_addresses; /* If TRUE allow the linking of input files in an unknown architecture assuming that the user knows what they are doing. This was the old @@ -177,24 +177,14 @@ typedef struct { bfd_boolean accept_unknown_input_arch; /* Big or little endian as set on command line. */ - enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE } endian; + enum endian_enum endian; /* -Bsymbolic and -Bsymbolic-functions, as set on command line. */ - enum - { - symbolic_unset = 0, - symbolic, - symbolic_functions, - } symbolic; + enum symbolic_enum symbolic; /* --dynamic-list, --dynamic-list-cpp-new, --dynamic-list-cpp-typeinfo and --dynamic-list FILE, as set on command line. */ - enum - { - dynamic_list_unset = 0, - dynamic_list_data, - dynamic_list - } dynamic_list; + enum dynamic_list_enum dynamic_list; /* Name of runtime interpreter to invoke. */ char *interpreter; @@ -265,7 +255,7 @@ typedef struct { /* If TRUE, warning messages are fatal */ bfd_boolean fatal_warnings; - bfd_boolean sort_common; + sort_order sort_common; bfd_boolean text_read_only;