fix reloc type bits conflict

This commit is contained in:
David MacKenzie 1993-11-03 21:51:06 +00:00
parent 021a5c6b01
commit 2cae23628a
2 changed files with 34 additions and 6 deletions

View File

@ -1,3 +1,28 @@
Wed Nov 3 13:48:27 1993 David J. Mackenzie (djm@thepub.cygnus.com)
* aout64.h (RELOC_STD_BITS_BASEREL_LITTLE): Make it 0x10 (Ken's
suggestion) to avoid conflict with RELOC_STD_BITS_EXTERN_LITTLE.
Fri Oct 29 15:09:52 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* hp300hpux.h (N_SHARED_LIB): Define to be 0.
Mon Sep 13 21:00:56 1993 John Gilmore (gnu@cygnus.com)
* ar.h (ARMAP_TIME_OFFSET): Add and describe.
Mon Aug 23 Sean Fagan (sef@cygnus.com)
* aout64.h [ARCH_SIZE != 64]: Allow N_BADMAG to be overridden.
Mon Aug 16 14:30:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* stab_gnu.h: Include aout/stab.def not just stab.def.
Sun Jul 18 21:41:47 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
* dynix3.h: New, for symmetry running dynix.
Thu Jul 8 12:52:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* aout64.h (N_BADMAG): Recognize QMAGIC.

View File

@ -40,10 +40,12 @@ struct external_exec
/* This indicates a demand-paged executable with the header in the text.
As far as I know it is only used by 386BSD and/or BSDI. */
#define QMAGIC 0314
#define N_BADMAG(x) (N_MAGIC(x) != OMAGIC \
# ifndef N_BADMAG
# define N_BADMAG(x) (N_MAGIC(x) != OMAGIC \
&& N_MAGIC(x) != NMAGIC \
&& N_MAGIC(x) != ZMAGIC \
&& N_MAGIC(x) != QMAGIC)
# endif /* N_BADMAG */
#endif
#endif
@ -55,12 +57,13 @@ struct external_exec
#endif
/* The difference between PAGE_SIZE and N_SEGSIZE is that PAGE_SIZE is
the the finest granularity at which you can page something, thus it
the finest granularity at which you can page something, thus it
controls the padding (if any) before the text segment of a ZMAGIC
file. N_SEGSIZE is the resolution at which things can be marked as
read-only versus read/write, so it controls the padding between the
text segment and the data segment. These are the same for most
machines, but different for sun3. */
text segment and the data segment (in memory; on disk the padding
between them is PAGE_SIZE). PAGE_SIZE and N_SEGSIZE are the same
for most machines, but different for sun3. */
/* By default, segment size is constant. But some machines override this
to be a function of the a.out header (e.g. machine type). */
@ -179,7 +182,7 @@ struct external_exec
#ifndef N_DATOFF
#define N_DATOFF(x) \
(N_MAGIC(x) == OMAGIC ? N_TXTOFF(x) + N_TXTSIZE(x) : \
N_SEGSIZE(x) + ((N_TXTOFF(x) + N_TXTSIZE(x) - 1) & ~(N_SEGSIZE(x) - 1)))
PAGE_SIZE + ((N_TXTOFF(x) + N_TXTSIZE(x) - 1) & ~(PAGE_SIZE - 1)))
#endif
#ifndef N_TRELOFF
@ -295,7 +298,7 @@ struct reloc_std_external {
#define RELOC_STD_BITS_EXTERN_LITTLE 0x08
#define RELOC_STD_BITS_BASEREL_BIG 0x08
#define RELOC_STD_BITS_BASEREL_LITTLE 0x08
#define RELOC_STD_BITS_BASEREL_LITTLE 0x10
#define RELOC_STD_BITS_JMPTABLE_BIG 0x04
#define RELOC_STD_BITS_JMPTABLE_LITTLE 0x04