From c10744770ca875f2a806f7d50a2aa4f9dd4acaa4 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Thu, 26 Aug 1993 22:22:36 +0000 Subject: [PATCH] * ld.h (BYTE_SIZE, SHORT_SIZE, LONG_SIZE): Define as suggested by Steve. --- ld/ChangeLog | 9 +++++++++ ld/ld.h | 41 +++++++++++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 09e87db..05d88f1 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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) From Peter Hoogenboom : diff --git a/ld/ld.h b/ld/ld.h index 50ee41a..3be5b5d 100644 --- a/ld/ld.h +++ b/ld/ld.h @@ -1,12 +1,12 @@ /* 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. GLD is free software; you can redistribute it and/or modify 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. 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_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_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_global(x) ((x) & (BSF_GLOBAL)) #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): 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; +#define BYTE_SIZE (1) +#define SHORT_SIZE (2) +#define LONG_SIZE (4) - - - -#define ALIGN(this, boundary) ((( (this) + ((boundary) -1)) & (~((boundary)-1)))) +/* 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)))) typedef struct { /* 1 => assign space to common symbols even if `relocatable_output'. */ boolean force_common_definition; - + boolean relax; + } args_type; typedef int token_code_type; typedef struct { - unsigned int specified_data_size; + bfd_size_type specified_data_size; boolean magic_demand_paged; boolean make_executable; /* 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 ? */ 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. */ - boolean unix_relocate; + + /* If true, warn about merging common symbols with others. */ + boolean warn_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; #define set_asymbol_chain(x,y) ((x)->udata = (PTR)y) #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 -- 2.7.4