static search_dirs_type **search_tail_ptr = &search_head;
-typedef struct search_arch
-{
+typedef struct search_arch {
char *name;
struct search_arch *next;
} search_arch_type;
}
for (search = search_head;
- search != (search_dirs_type *)NULL;
+ search != (search_dirs_type *) NULL;
search = search->next)
{
char *string;
FILE *result;
char buffer[1000];
- /* First try raw name */
+ /* First try raw name. */
result = try_open (name, "");
- if (result == (FILE *)NULL)
+ if (result == (FILE *) NULL)
{
- /* Try now prefixes */
+ /* Try now prefixes. */
for (search = search_head;
- search != (search_dirs_type *)NULL;
+ search != (search_dirs_type *) NULL;
search = search->next)
{
- sprintf (buffer,"%s%s%s", search->name, slash, name);
+ sprintf (buffer, "%s%s%s", search->name, slash, name);
result = try_open (buffer, extend);
if (result)
FILE *ldlex_input_stack;
ldlex_input_stack = ldfile_find_command_file (name, "");
- if (ldlex_input_stack == (FILE *)NULL)
+ if (ldlex_input_stack == (FILE *) NULL)
{
bfd_set_error (bfd_error_system_call);
einfo (_("%P%F: cannot open linker script file %s: %E\n"), name);
}
if (tp->cmd_switch == NULL)
- einfo (_("%P%F: unknown architecture: %s\n"),name);
+ einfo (_("%P%F: unknown architecture: %s\n"), name);
return tp->arch;
}
char *name;
{
search_arch_type *new =
- (search_arch_type *)xmalloc ((bfd_size_type)(sizeof (search_arch_type)));
+ (search_arch_type *) xmalloc ((bfd_size_type) (sizeof (search_arch_type)));
if (*name != '\0')
{
ldfile_output_machine_name = name;
}
- new->next = (search_arch_type*)NULL;
+ new->next = (search_arch_type *) NULL;
new->name = gnu960_map_archname (name);
*search_arch_tail_ptr = new;
search_arch_tail_ptr = &new->next;
}
-#else /* not GNU960 */
+#else /* not GNU960 */
void
ldfile_add_arch (in_name)
- CONST char * in_name;
+ CONST char *in_name;
{
char *name = buystring (in_name);
search_arch_type *new =
ldfile_output_machine_name = in_name;
new->name = name;
- new->next = (search_arch_type*)NULL;
+ new->next = (search_arch_type *) NULL;
while (*name)
{
if (isupper ((unsigned char) *name))
}
#endif
-/* Set the output architecture */
+/* Set the output architecture. */
+
void
ldfile_set_output_arch (string)
CONST char *string;
#ifndef LDLANG_H
#define LDLANG_H
-typedef enum
-{
+typedef enum {
lang_input_file_is_l_enum,
lang_input_file_is_symbols_only_enum,
lang_input_file_is_marker_enum,
} lang_input_file_enum_type;
typedef unsigned int fill_type;
-typedef struct statement_list
-{
+
+typedef struct statement_list {
union lang_statement_union *head;
union lang_statement_union **tail;
} lang_statement_list_type;
-typedef struct memory_region_struct
-{
+typedef struct memory_region_struct {
char *name;
struct memory_region_struct *next;
bfd_vma origin;
flagword flags;
flagword not_flags;
boolean had_full_message;
-} lang_memory_region_type ;
-
-typedef struct lang_statement_header_struct
-{
- union lang_statement_union *next;
- enum statement_enum
- {
- lang_output_section_statement_enum,
- lang_assignment_statement_enum,
- lang_input_statement_enum,
- lang_address_statement_enum,
- lang_wild_statement_enum,
- lang_input_section_enum,
- lang_object_symbols_statement_enum,
- lang_fill_statement_enum,
- lang_data_statement_enum,
- lang_reloc_statement_enum,
- lang_target_statement_enum,
- lang_output_statement_enum,
- lang_padding_statement_enum,
- lang_group_statement_enum,
-
- lang_afile_asection_pair_statement_enum,
- lang_constructors_statement_enum
- } type;
+} lang_memory_region_type;
+
+typedef struct lang_statement_header_struct {
+ union lang_statement_union *next;
+ enum statement_enum {
+ lang_output_section_statement_enum,
+ lang_assignment_statement_enum,
+ lang_input_statement_enum,
+ lang_address_statement_enum,
+ lang_wild_statement_enum,
+ lang_input_section_enum,
+ lang_object_symbols_statement_enum,
+ lang_fill_statement_enum,
+ lang_data_statement_enum,
+ lang_reloc_statement_enum,
+ lang_target_statement_enum,
+ lang_output_statement_enum,
+ lang_padding_statement_enum,
+ lang_group_statement_enum,
+
+ lang_afile_asection_pair_statement_enum,
+ lang_constructors_statement_enum
+ } type;
} lang_statement_header_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
union etree_union *exp;
} lang_assignment_statement_type;
-typedef struct lang_target_statement_struct
-{
+typedef struct lang_target_statement_struct {
lang_statement_header_type header;
const char *target;
} lang_target_statement_type;
-typedef struct lang_output_statement_struct
-{
+typedef struct lang_output_statement_struct {
lang_statement_header_type header;
const char *name;
} lang_output_statement_type;
/* Section types specified in a linker script. */
-enum section_type
-{
+enum section_type {
normal_section,
dsect_section,
copy_section,
/* 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 {
struct lang_output_section_phdr_list *next;
const char *name;
boolean used;
};
-typedef struct lang_output_section_statement_struct
-{
+typedef struct lang_output_section_statement_struct {
lang_statement_header_type header;
union etree_union *addr_tree;
lang_statement_list_type children;
size_t block_value;
fill_type fill;
- int subsection_alignment; /* alignment of components */
- int section_alignment; /* alignment of start of section */
+ int subsection_alignment; /* alignment of components */
+ int section_alignment; /* alignment of start of section */
union etree_union *load_base;
struct lang_output_section_phdr_list *phdrs;
} lang_output_section_statement_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
} lang_common_statement_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
} lang_object_symbols_statement_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
fill_type fill;
int size;
asection *output_section;
} lang_fill_statement_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
unsigned int type;
- union etree_union *exp;
+ union etree_union *exp;
bfd_vma value;
asection *output_section;
bfd_vma output_vma;
/* Generate a reloc in the output file. */
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
/* Reloc to generate. */
bfd_vma output_vma;
} lang_reloc_statement_type;
-typedef struct lang_input_statement_struct
-{
+typedef struct lang_input_statement_struct {
lang_statement_header_type header;
/* Name of this file. */
const char *filename;
/* Point to the next file - whatever it is, wanders up and down
archives */
- union lang_statement_union *next;
+ union lang_statement_union *next;
/* Point to the next file, but skips archive contents */
- union lang_statement_union *next_real_file;
+ union lang_statement_union *next_real_file;
boolean is_archive;
boolean loaded;
- /* unsigned int globals_in_this_file;*/
+#if 0
+ unsigned int globals_in_this_file;
+#endif
const char *target;
boolean real;
} lang_input_statement_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
asection *section;
lang_input_statement_type *ifile;
} lang_input_section_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
asection *section;
union lang_statement_union *file;
} lang_afile_asection_pair_statement_type;
-typedef struct lang_wild_statement_struct
-{
+typedef struct lang_wild_statement_struct {
lang_statement_header_type header;
const char *section_name;
boolean sections_sorted;
lang_statement_list_type children;
} lang_wild_statement_type;
-typedef struct lang_address_statement_struct
-{
+typedef struct lang_address_statement_struct {
lang_statement_header_type header;
- const char *section_name;
- union etree_union *address;
+ const char *section_name;
+ union etree_union *address;
} lang_address_statement_type;
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
bfd_vma output_offset;
size_t size;
symbols are found. The effect is to search a group of libraries as
though they were a single library. */
-typedef struct
-{
+typedef struct {
lang_statement_header_type header;
lang_statement_list_type children;
} lang_group_statement_type;
-typedef union lang_statement_union
-{
+typedef union lang_statement_union {
lang_statement_header_type header;
union lang_statement_union *next;
lang_wild_statement_type wild_statement;
/* This structure holds information about a program header, from the
PHDRS command in the linker script. */
-struct lang_phdr
-{
+struct lang_phdr {
struct lang_phdr *next;
const char *name;
unsigned long type;
/* This structure is used to hold a list of sections which may not
cross reference each other. */
-struct lang_nocrossref
-{
+struct lang_nocrossref {
struct lang_nocrossref *next;
const char *name;
};
/* The list of nocrossref lists. */
-struct lang_nocrossrefs
-{
+struct lang_nocrossrefs {
struct lang_nocrossrefs *next;
struct lang_nocrossref *list;
};