X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fld.h;h=e629e66a5e9084ac41636907df72c4ff712bd3bc;hb=567eaf74eff5e563d854f999e91b200328fe5f30;hp=2c7e55dbe2033d63ba9f0832183a2b966afc0c24;hpb=c20f4f8c21dcede76fe50dc3e19f5e8056232b94;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ld.h b/ld/ld.h index 2c7e55dbe2..e629e66a5e 100644 --- a/ld/ld.h +++ b/ld/ld.h @@ -1,5 +1,5 @@ /* ld.h -- general linker header file - Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 99, 2000 + Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GLD, the Gnu Linker. @@ -35,12 +35,11 @@ # define N_(String) (String) # endif #else -/* Stubs that do something close enough. */ -# define textdomain(String) (String) -# define gettext(String) (String) -# define dgettext(Domain,Message) (Message) -# define dcgettext(Domain,Message,Type) (Message) -# define bindtextdomain(Domain,Directory) (Domain) +# define gettext(Msgid) (Msgid) +# define dgettext(Domainname, Msgid) (Msgid) +# define dcgettext(Domainname, Msgid, Category) (Msgid) +# define textdomain(Domainname) while (0) /* nothing */ +# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */ # define _(String) (String) # define N_(String) (String) #endif @@ -59,30 +58,32 @@ #define DISCARD_SECTION_NAME "/DISCARD/" /* A file name list */ -typedef struct name_list -{ - const char *name; - struct name_list *next; -} name_list; +typedef struct name_list { + const char *name; + struct name_list *next; +} +name_list; /* A wildcard specification. This is only used in ldgram.y, but it winds up in ldgram.h, so we need to define it outside. */ -struct wildcard_spec -{ +struct wildcard_spec { const char *name; struct name_list *exclude_name_list; boolean sorted; }; +struct wildcard_list { + struct wildcard_list *next; + struct wildcard_spec spec; +}; + /* Extra information we hold on sections */ -typedef struct user_section_struct -{ +typedef struct user_section_struct { /* Pointer to the section where this data will go */ struct lang_input_statement_struct *file; } section_userdata_type; - #define get_userdata(x) ((x)->userdata) #define BYTE_SIZE (1) @@ -98,10 +99,12 @@ typedef struct user_section_struct #define ALIGN_N(this, boundary) \ ((( (this) + ((boundary) -1)) & (~((boundary)-1)))) -typedef struct -{ +typedef struct { /* 1 => assign space to common symbols even if `relocatable_output'. */ boolean force_common_definition; + + /* 1 => do not assign addresses to common symbols. */ + boolean inhibit_common_definition; boolean relax; /* Name of runtime interpreter to invoke. */ @@ -120,15 +123,11 @@ typedef struct /* Big or little endian as set on command line. */ enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE } endian; - /* If true, export all symbols in the dynamic symbol table of an ELF - executable. */ - boolean export_dynamic; - /* If true, build MIPS embedded PIC relocation tables in the output file. */ boolean embedded_relocs; - /* If true, force generation of a file with a .exe file. */ + /* If true, force generation of a file with a .exe file. */ boolean force_exe_suffix; /* If true, generate a cross reference report. */ @@ -156,15 +155,14 @@ typedef struct /* If true (the default) check section addresses, once compute, fpor overlaps. */ boolean check_section_addresses; - + } args_type; extern args_type command_line; typedef int token_code_type; -typedef struct -{ +typedef struct { bfd_size_type specified_data_size; boolean magic_demand_paged; boolean make_executable; @@ -198,6 +196,9 @@ typedef struct changes due to the alignment of an input section. */ boolean warn_section_align; + /* If true, warning messages are fatal */ + boolean fatal_warnings; + boolean sort_common; boolean text_read_only; @@ -207,20 +208,27 @@ typedef struct boolean stats; - int split_by_reloc; - boolean split_by_file; + /* If set, orphan input sections will be mapped to separate output + sections. */ + boolean unique_orphan_sections; + + unsigned int split_by_reloc; + bfd_size_type split_by_file; + + /* If set, only search library directories explicitly selected + on the command line. */ + boolean only_cmd_line_lib_dirs; } ld_config_type; extern ld_config_type config; -typedef enum -{ +typedef enum { lang_first_phase_enum, lang_allocating_phase_enum, lang_final_phase_enum } lang_phase_type; -extern boolean had_script; +extern FILE * saved_script_handle; extern boolean force_make_executable; /* Non-zero if we are processing a --defsym from the command line. */ @@ -235,8 +243,8 @@ extern void check_nocrossrefs PARAMS ((void)); extern void ld_abort PARAMS ((const char *, int, const char *)) ATTRIBUTE_NORETURN; -/* If gcc, we can give a function name, too. */ -#if !defined (__GNUC__) || __GNUC_MINOR__ <= 5 +/* If gcc >= 2.6, we can give a function name, too. */ +#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) #define __PRETTY_FUNCTION__ ((char*) NULL) #endif