From 73f5d5febba62881d54615cc4d83044894815234 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Fri, 15 Oct 1993 09:29:32 +0000 Subject: [PATCH] * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle types of different sizes (eg: 64 and 32 bits), so coerce. * ld.h (ALIGN_N): Add warning about usage. --- ld/ld.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ld/ld.h b/ld/ld.h index 3be5b5dc18..5aa8036a05 100644 --- a/ld/ld.h +++ b/ld/ld.h @@ -30,6 +30,7 @@ #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_weak(x) ((x) & BSF_WEAK) #define flag_is_undefined(x) ((x) & BSF_UNDEFINED) #define flag_set(x,y) (x = y) #define flag_is_fort_comm(x) ((x) & BSF_FORT_COMM) @@ -65,6 +66,9 @@ typedef enum { DISCARD_NONE, DISCARD_ALL, DISCARD_L } discard_locals_type; /* ALIGN macro changed to ALIGN_N to avoid */ /* conflict in /usr/include/machine/machparam.h */ +/* WARNING: If THIS is a 64 bit address and BOUNDARY is an unsigned int, + you must coerce boundary to the same type as THIS. + ??? Is there a portable way to avoid this. */ #define ALIGN_N(this, boundary) ((( (this) + ((boundary) -1)) & (~((boundary)-1)))) typedef struct { @@ -119,6 +123,3 @@ typedef enum { int yyparse(); -#define BYTE_SIZE 1 -#define SHORT_SIZE 2 -#define LONG_SIZE 4