* ld.h (BYTE_SIZE, SHORT_SIZE, LONG_SIZE): Define as suggested by

Steve.
This commit is contained in:
David Edelsohn 1993-08-26 22:22:36 +00:00
parent 138dd57ce0
commit c10744770c
2 changed files with 38 additions and 12 deletions

View File

@ -1,3 +1,12 @@
Thu Aug 26 15:15:30 1993 Doug Evans (dje@canuck.cygnus.com)
* ld.h (BYTE_SIZE, SHORT_SIZE, LONG_SIZE): Define as suggested by
Steve.
Wed Aug 25 16:29:56 1993 K. Richard Pixley (rich@sendai.cygnus.com)
* configure.in: recognize m88110.
Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>: From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:

41
ld/ld.h
View File

@ -1,12 +1,12 @@
/* ld.h - /* ld.h -
Copyright (C) 1991 Free Software Foundation, Inc. Copyright (C) 1991, 1993 Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker. This file is part of GLD, the Gnu Linker.
GLD is free software; you can redistribute it and/or modify GLD is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GLD is distributed in the hope that it will be useful, GLD is distributed in the hope that it will be useful,
@ -26,6 +26,8 @@
#define flag_is_defined(x) (!((x) & (BSF_UNDEFINED))) #define flag_is_defined(x) (!((x) & (BSF_UNDEFINED)))
#define flag_is_global_or_common(x) ((x) & (BSF_GLOBAL | BSF_FORT_COMM)) #define flag_is_global_or_common(x) ((x) & (BSF_GLOBAL | BSF_FORT_COMM))
#define flag_is_undefined_or_global_or_common(x) ((x) & (BSF_UNDEFINED | BSF_GLOBAL | BSF_FORT_COMM)) #define flag_is_undefined_or_global_or_common(x) ((x) & (BSF_UNDEFINED | BSF_GLOBAL | BSF_FORT_COMM))
#define flag_is_undefined_or_global_or_common_or_constructor(x) ((x) & (BSF_UNDEFINED | BSF_GLOBAL | BSF_FORT_COMM | BSF_CONSTRUCTOR))
#define flag_is_constructor(x) ((x) & BSF_CONSTRUCTOR)
#define flag_is_common(x) ((x) & BSF_FORT_COMM) #define flag_is_common(x) ((x) & BSF_FORT_COMM)
#define flag_is_global(x) ((x) & (BSF_GLOBAL)) #define flag_is_global(x) ((x) & (BSF_GLOBAL))
#define flag_is_undefined(x) ((x) & BSF_UNDEFINED) #define flag_is_undefined(x) ((x) & BSF_UNDEFINED)
@ -46,7 +48,7 @@ typedef struct user_section_struct {
/* Which symbols should be stripped (omitted from the output): /* Which symbols should be stripped (omitted from the output):
none, all, or debugger symbols. */ none, all, or debugger symbols. */
typedef enum { STRIP_NONE, STRIP_ALL, STRIP_DEBUGGER } strip_symbols_type; typedef enum { STRIP_NONE, STRIP_ALL, STRIP_DEBUGGER, STRIP_SOME } strip_symbols_type;
@ -57,23 +59,26 @@ typedef enum { STRIP_NONE, STRIP_ALL, STRIP_DEBUGGER } strip_symbols_type;
typedef enum { DISCARD_NONE, DISCARD_ALL, DISCARD_L } discard_locals_type; typedef enum { DISCARD_NONE, DISCARD_ALL, DISCARD_L } discard_locals_type;
#define BYTE_SIZE (1)
#define SHORT_SIZE (2)
#define LONG_SIZE (4)
/* ALIGN macro changed to ALIGN_N to avoid */
/* conflict in /usr/include/machine/machparam.h */
#define ALIGN_N(this, boundary) ((( (this) + ((boundary) -1)) & (~((boundary)-1))))
#define ALIGN(this, boundary) ((( (this) + ((boundary) -1)) & (~((boundary)-1))))
typedef struct { typedef struct {
/* 1 => assign space to common symbols even if `relocatable_output'. */ /* 1 => assign space to common symbols even if `relocatable_output'. */
boolean force_common_definition; boolean force_common_definition;
boolean relax;
} args_type; } args_type;
typedef int token_code_type; typedef int token_code_type;
typedef struct typedef struct
{ {
unsigned int specified_data_size; bfd_size_type specified_data_size;
boolean magic_demand_paged; boolean magic_demand_paged;
boolean make_executable; boolean make_executable;
/* 1 => write relocation into output file so can re-input it later. */ /* 1 => write relocation into output file so can re-input it later. */
@ -81,11 +86,18 @@ typedef struct
/* Will we build contstructors, or leave alone ? */ /* Will we build contstructors, or leave alone ? */
boolean build_constructors; boolean build_constructors;
/* 1 => write relocation such that a UNIX linker can understand it.
This is used mainly to finish of sets that were built. */ /* If true, warn about merging common symbols with others. */
boolean unix_relocate; boolean warn_common;
boolean sort_common; boolean sort_common;
/* these flags may seem mutually exclusive, but not setting them
allows the back end to decide what would be the best thing to do */
boolean text_read_only;
char *map_filename;
FILE *map_file;
} ld_config_type; } ld_config_type;
#define set_asymbol_chain(x,y) ((x)->udata = (PTR)y) #define set_asymbol_chain(x,y) ((x)->udata = (PTR)y)
#define get_asymbol_chain(x) ((asymbol **)((x)->udata)) #define get_asymbol_chain(x) ((asymbol **)((x)->udata))
@ -105,3 +117,8 @@ typedef enum {
int yyparse();
#define BYTE_SIZE 1
#define SHORT_SIZE 2
#define LONG_SIZE 4