summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1993-11-18 20:52:34 +0000
committerjkh <jkh@FreeBSD.org>1993-11-18 20:52:34 +0000
commit93375236f05146b0d0126694b378ff0ee611e449 (patch)
treecf6be9c81c0df418c6ed9c28d1c00e11dcbbca62
parent73dd2628a2d9f88e008196681e15c6d3a0dc11be (diff)
downloadFreeBSD-src-93375236f05146b0d0126694b378ff0ee611e449.zip
FreeBSD-src-93375236f05146b0d0126694b378ff0ee611e449.tar.gz
Recent Paul K. changes for compiling X shared (tested on my box).
-rw-r--r--gnu/usr.bin/ld/ld.c6
-rw-r--r--gnu/usr.bin/ld/ld.h9
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.
OpenPOWER on IntegriCloud