diff options
author | jkh <jkh@FreeBSD.org> | 1993-11-18 20:52:34 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1993-11-18 20:52:34 +0000 |
commit | 93375236f05146b0d0126694b378ff0ee611e449 (patch) | |
tree | cf6be9c81c0df418c6ed9c28d1c00e11dcbbca62 /gnu/usr.bin/ld | |
parent | 73dd2628a2d9f88e008196681e15c6d3a0dc11be (diff) | |
download | FreeBSD-src-93375236f05146b0d0126694b378ff0ee611e449.zip FreeBSD-src-93375236f05146b0d0126694b378ff0ee611e449.tar.gz |
Recent Paul K. changes for compiling X shared (tested on my box).
Diffstat (limited to 'gnu/usr.bin/ld')
-rw-r--r-- | gnu/usr.bin/ld/ld.c | 6 | ||||
-rw-r--r-- | gnu/usr.bin/ld/ld.h | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gnu/usr.bin/ld/ld.c b/gnu/usr.bin/ld/ld.c index 4779887..126e4ac 100644 --- a/gnu/usr.bin/ld/ld.c +++ b/gnu/usr.bin/ld/ld.c @@ -32,7 +32,7 @@ static char sccsid[] = "@(#)ld.c 6.10 (Berkeley) 5/22/91"; Set, indirect, and warning symbol features added by Randy Smith. */ /* - * $Id: ld.c,v 1.7 1993/11/16 00:42:57 paul Exp $ + * $Id: ld.c,v 1.8 1993/11/16 07:20:35 paul Exp $ */ /* Define how to initialize system-dependent header fields. */ @@ -1773,7 +1773,9 @@ consider_relocation (entry, dataseg) /* Call to shared library procedure */ alloc_rrs_jmpslot(sp); - + if (!RELOC_PCREL_P(reloc)) { + sp->aux = RRS_FUNC; + } } else if (sp->size && (sp->so_defined == N_DATA + N_EXT || sp->so_defined == N_TEXT + N_EXT)) { diff --git a/gnu/usr.bin/ld/ld.h b/gnu/usr.bin/ld/ld.h index 687b7a3..320d073 100644 --- a/gnu/usr.bin/ld/ld.h +++ b/gnu/usr.bin/ld/ld.h @@ -1,4 +1,4 @@ -/* $Id: ld.h,v 1.4 1993/11/01 16:26:16 pk Exp $ */ +/* $Id: ld.h,v 1.2 1993/11/09 04:18:59 paul Exp $ */ /*- * This code is derived from software copyrighted by the Free Software * Foundation. @@ -427,6 +427,13 @@ typedef struct glosym { /* Size of symbol as determined by N_SIZE 'nlist's in object files */ int size; + /* Auxialiary info to put in the `nz_other' field of the + * RRS symbol table. Used by the run-time linker to resolve + * references to function addresses from within shared objects. + */ + int aux; +#define RRS_FUNC 2 + /* * Chain of external 'nlist's in shared objects for this symbol, both * defs and refs. |