Commit Graph

50 Commits

Author SHA1 Message Date
Jordan K. Hubbard
7883064ac0 A fast private malloc for ld.so 1994-02-13 20:44:09 +00:00
Jordan K. Hubbard
09e3d49d92 This is Paul K's latest set of ld changes. A commit was necessary at this
late stage due to the fact that link.h was copyright Sun Microsystems.

This version of ld sync's us up with NetBSD's ld and supports compatablily
with NetBSD's -[zZ] flags (which we had reversed).  Compiling with this
new ld will give you RRS warnings for libraries which do not contain .type
infomation - these wsarnings are harmless and will go away as soon as you
recompile your libraries (cd /usr/src; make libraries).
1994-02-13 20:43:13 +00:00
Nate Williams
9859e2cc85 Changed NetBSD -> FreeBSD 1994-02-11 12:12:51 +00:00
Rodney W. Grimes
825079654d Remove /usr/X386/lib and /usr/local/lib from the default locations,
these are handled by /etc/rc and this was causing errors on a new
install as these places do NOT exsist by default!
1994-02-09 02:29:31 +00:00
David Greenman
84462ab47a Removed dependance on EX_DYNAMIC in making decisions on the magic number. 1994-01-19 15:00:37 +00:00
Jordan K. Hubbard
9d4389fddc More proper fix for for shared lib debugging support. 1994-01-14 11:47:00 +00:00
Jordan K. Hubbard
5b3dd4f53e 1. Fix bug where duplicate symbol warnings were suppressed. This often
caued ld to `exit silently', to general confusion.

2. Add Gary Jennejohn's fix to support debugging of shared libraries.
1994-01-12 23:16:19 +00:00
Jordan K. Hubbard
cbb24ea9e1 Updated man page to document new behaviour of -Z, -z and -Q flags. 1994-01-03 23:52:35 +00:00
David Greenman
1799d2585e Implemented 'QMAGIC' a.out format correctly, and changed the default
output to be QMAGIC.
1994-01-03 18:35:54 +00:00
Jordan K. Hubbard
f7122c559f C++ support changes (+misc fixes) from Paul K. 1993-12-22 23:28:35 +00:00
Nate Williams
0bb118a5b1 Fixed Makefile per bug report from Julian Stacey. There was an extra DESTDIR
in front of BINDIR definition.
1993-12-16 21:51:27 +00:00
Jordan K. Hubbard
6277403422 Added sbrk() as new file. 1993-12-11 21:06:36 +00:00
Jordan K. Hubbard
8b6ddcb0a3 Broke sbrk() out of rtld as part of general cleanup. 1993-12-11 21:06:00 +00:00
Jordan K. Hubbard
c9cb3c7ea5 Omitted 4th argument to findshlib() [thanks Rich!]. Our ld is a bit
different from NetBSD's here and it squeaked through the update.
1993-12-11 20:08:39 +00:00
Jordan K. Hubbard
b640de6119 Sync up with Paul K's latest ld from cesium. 1993-12-11 12:02:10 +00:00
Jordan K. Hubbard
127447df73 makedepend fails for ld. I think it because the .S files are
preprocessed the same as when they are compiled.  I just remove the
single-quotes from the offending comments.  Rich
1993-12-10 10:16:00 +00:00
Jordan K. Hubbard
31a947eb76 Added the TODO file. Also wanted to announce the previous change to rtld.c
which eliminates the stack walking code (from David G.).  My previous commit
message was eaten by mistake!
1993-12-09 17:53:08 +00:00
Jordan K. Hubbard
a0b8281d40 David Greenman's latest changes to eliminate much stack-walking jazz
(no more sbrk_init()!).
1993-12-09 17:45:43 +00:00
Jordan K. Hubbard
230d2c5ff9 More changes to bring FreeBSD in sync with Paul K's latest. 1993-12-04 00:53:16 +00:00
Jordan K. Hubbard
2e21ebe5ce More changes to bring FreBSD in sync with Paul K's latest. 1993-12-04 00:53:02 +00:00
Andrey A. Chernov
64990426e4 Sorry, Jordan, but I restore previous version again.
You write that
LDFLAGS+= -Xlinker -Bstatic
no more needed, but you have
CFLAGS += -static -I$(.CURDIR) -I$(.CURDIR)/$(MACHINE)
This -static doesn't make any sense in your version,
because it not passed to linker's state (LDFLAGS),
so we have SHARED /usr/bin/ld in this case.
(Older Makefile produce non-shared ld).
I suppose, that -static in CFLAGS was introduced to
make non-shared ld, so I restore previous LDFLAGS
to have non-shared ld. If we want to have shared ld
we need to remove -static from CFLAGS too, not only LDFLAGS,
but this need special issue and corresponding
commit log. Your current version hang into intermediate
state (beetween two sides), so I move it to one side.

Second, I restore NOPIC dependance again from older Makefile:
.if !defined(NOPIC)
SUBDIR+= rtld
.endif
We don't need ld.so, if NOPIC

P.S. I don't see any purpose to commit new makefile, old version
is better.
1993-12-02 09:56:30 +00:00
Andrey A. Chernov
1f30bc0f0d #ifdef DEBUG unwanted message, third time after Jordan... 1993-12-02 09:32:26 +00:00
Nate Williams
02974dc4fb Moved DEBUG conditional where it belonged to remove DEBUG code out of
default compilation.
1993-12-02 05:09:52 +00:00
Jordan K. Hubbard
1e503f71fb Second attempt to integrate Paul K's changes. 1993-12-02 01:03:47 +00:00
Jordan K. Hubbard
88ac367bd7 Second attempt to integrate Paul K's changes. 1993-12-02 00:56:40 +00:00
Andrey A. Chernov
db4d1e7156 All -static and -Xlinker -Bstatic flags missed in
newly commited Makefile.
NOPIC dependance missed too!
Oh it is really pain to check all that broken stuff,
Please, check it *before* commit!
1993-12-01 15:58:22 +00:00
Andrey A. Chernov
b242393f9b #ifdef DEBUG missed by several lines!
!!! Please, COMPILE *BEFORE* COMMIT!
1993-12-01 15:34:01 +00:00
Andrey A. Chernov
50b517092a Add DEBUG #ifdef, (second time!)
!!! Please, anybody who update ld to NetBSD current,
!!! look at old cvs logs!
1993-12-01 15:13:42 +00:00
Andrey A. Chernov
730a80c44c Remove hanging #else part (with second sbrk()) without #if & #endif
Add missing argument to findshlib, I am not shure,
but it seems that it is 1.
!!! Does anybody compile it before commit?
1993-12-01 15:05:31 +00:00
Andrey A. Chernov
ff78e5dfcf Remove -g option (second time!)
!!! Please anybody who port Makefiles from NetBSD,
!!! remove -g option!
1993-12-01 14:45:35 +00:00
Jordan K. Hubbard
52c4ca7af3 Many recent fixes from Paul K, add support for chaining of shared lib deps. 1993-11-30 20:47:54 +00:00
Jordan K. Hubbard
0f81714b34 Added -lgcc_pic back again. 1993-11-25 01:06:42 +00:00
Jordan K. Hubbard
d3ab4e4900 Some of the latest changes from Paul K (taken from NetBSD-current). 1993-11-22 19:05:31 +00:00
Jordan K. Hubbard
437c34ef5b Recent Paul K. changes for compiling X shared (tested on my box). 1993-11-18 20:52:34 +00:00
Andrey A. Chernov
308a64fe24 Diagnostic "RRS text relocation at %#x (symbol %s)"
commented out in #ifdef DEBUG
As Paul told me, it is only informational, nothing more.
I don't want several screens of this information
on each linking (netstat f.e.)
1993-11-17 01:33:24 +00:00
Paul Richards
e523391c57 Default magic is back to netbsd ZMAGIC,
new a_midmag format needed for dynamic binaries.
-z produces normal ZMAGIC. (this gets our kernel built)
-Z produces netbsd ZMAGIC. (currently default)
1993-11-16 07:20:35 +00:00
Paul Richards
8d29dc5c6f Swapped meaning of -Z and -z options.
On any other system -z means "standard" ZMAGIC format and is the
default. Therefore I've made -z be standard ZMAGIC and -Z be ZMAGIC
stored in the new a_midmag format.

The "standard" ZMAGIC format is now the default as well.
1993-11-16 00:42:57 +00:00
Paul Richards
760e925fe9 Incorporated fixes from Paul to make -Z option work. Emits old-style
ZMAGIC magic numbers in a long.
1993-11-15 20:58:20 +00:00
Paul Richards
ff691de6a9 Added
.if !defined(NOPIC)
SUBDIR+= rtld
.endif

so linker can be built without building ld.so
1993-11-09 21:23:07 +00:00
Paul Richards
f1a0d2dfc6 Cahnged ldconfig.0 to ldconfig.8 for our man system. 1993-11-09 20:39:46 +00:00
Paul Richards
129619c245 Remoed -g flag and added -static. 1993-11-09 20:39:26 +00:00
Paul Richards
bcd9d0cf11 Added -lgcc_pic to Makefile -- Why do we need this and NetBSD don't ??
Incorporated patch by Guido (inspired by Davidg) that fixes stack
problem. May not be final fix but it works more than the current method.
1993-11-09 04:44:30 +00:00
Paul Richards
3923b0019c Updated to newest ld from pk.
lib.c:
Pull in archives containing definitions needed by shared objects.
warnings.c:
Less spurious "undefined symbol" msgs for shared library defined
symbols.
ld.c:
Do a better job of recognising data in text segments, eg. `const char []'.
shlib.c,ld/rtld/{Makefile rtld.c}
Use strsep() in stead of strtok() and restore colons in eg. env. vars.
1993-11-09 04:19:36 +00:00
Paul Richards
727c7fbdc9 Added -lgcc_pic to LDFLAGS in rtld/Makefile 1993-11-07 03:25:25 +00:00
Paul Richards
d58b98d018 Changed ldconfig.0 to ldconfig.8 for our man setup. 1993-11-06 23:15:53 +00:00
Andrey A. Chernov
75b40a6f55 -g removed from CFLAGS (with permissions from Paul) 1993-11-05 01:35:24 +00:00
Paul Richards
b9ae52e32a Imported NetBSD's ld for shared libs. 1993-11-03 23:41:59 +00:00
David Greenman
03b15f1934 Added support for QMAGIC format executable output. This causes the loader
to output the same QMAGIC format as BSDI does. This is triggered by
a new '-q' flag ('-Xlinker -q'  in gcc). The default can be changed from
ZMAGIC to QMAGIC by defining DEFAULT_MAGIC=QMAGIC when building ld.
1993-10-26 06:24:20 +00:00
Rodney W. Grimes
3c7e1b8cc2 From: rich@id.slip.bcm.tmc.edu.cdrom.com (Rich Murphey)
ld won't generate output if there are two .o files with the same
name.  It thinks they are multiply defined external references.  This
patch explictly allows multiple /file names/ with the same value.
This can happen if you do a two stage link or if you link in file
names that are identical to files in libc.

Otherwise ld.c exits with a status=1 and non error message.  Rich
1993-09-05 14:24:38 +00:00
Nate Williams
6db721f938 ld is moved to src/gnu 1993-06-29 09:58:20 +00:00