eeh
f310f1fd32
Handle dynamic binaries too.
2000-07-18 22:35:45 +00:00
matt
d71ca2d66e
__syscall takes a quad_t as its first argument, not an int.
...
_strrchr takes an int (due to promotion) as its third arg.
don't print the null byte at the end of string.
error messages should end with a linefeed.
2000-07-03 23:01:01 +00:00
matt
06f872af34
Use the ___start etc.
2000-07-03 03:56:56 +00:00
christos
3d65200a80
remove initialization of mainprog_obj from here; it is too late for .ini
...
sections that want to use dlopen(3).
2000-06-16 20:52:49 +00:00
cgd
c39575e265
sweep of my licenses for consistency. (no functional changes) These
...
files have copyright held by people in addition to myself. (I did the
original work, they copied it, enhanced it, and added their copyright
to the derivative work.) Their approval has been given re: the license
change.
2000-06-15 16:48:28 +00:00
cgd
c85d2eb42b
sweep of my licenses for consistency. (no functional changes) These
...
files have copyright held by people in addition to myself. (I did the
original work, they copied it, enhanced it, and added their copyright
to the derivative work.) Their approval has been given re: the license
change.
2000-06-14 22:52:37 +00:00
cgd
db755e7c76
sweep of my licenses (userland files w/o only my copyright) for
...
consistency. (no functional changes)
2000-06-14 17:24:02 +00:00
thorpej
193ccba813
Normalize copyright notice.
2000-06-14 16:09:54 +00:00
cgd
d220ca5ba3
fix up NetBSD RCS Ids to match the standard, and the leading comment as
...
to match as well. No functional changes.
2000-06-14 06:48:47 +00:00
bjh21
6c97e2bd78
Initial commit of arm26 port
2000-05-09 21:55:44 +00:00
dmcmahill
7348e432f3
change -fpic to -fPIC. Among other things this will let sparc shared
...
c++ libraries built with pkglibtool (which uses -fPIC) work.
change approved by mycroft.
2000-04-29 17:42:46 +00:00
minoura
78b105698a
Move dl* function definitions to libc on ELF.
...
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html .
2000-04-02 15:35:47 +00:00
kristerw
33c172d1c1
Const poisoning of dladdr (so that things build after the dlfcn.h change)
2000-02-09 22:41:53 +00:00
scottb
076e309d3e
change first argument of dladdr to const.
2000-02-08 16:22:59 +00:00
scottb
c0cf420b69
add hooks to support the dladdr function.
2000-02-07 21:40:40 +00:00
mycroft
c29a577031
Adjust for .mk file changes.
2000-01-22 19:37:57 +00:00
eeh
818cfe2268
Workaround for gcc 2.96 bugs.
1999-12-30 15:34:47 +00:00
lukem
fe5a2bf74b
remove the ``static'' from `static void __start()' and `static void ___start()'
...
because an overly aggressive gcc -O3 "cleverly" optimizes the functions out.
noted in [port-i386/8493], but seen in other ports as well.
1999-11-02 10:07:12 +00:00
lukem
fe0968e395
wrap line
1999-11-02 10:03:44 +00:00
msaitoh
2cf9cd31f6
add csu for sh3
1999-10-07 11:56:28 +00:00
mrg
6f967b5c4a
add a _start symbol ld(1) can find.
1999-08-24 08:55:27 +00:00
kleink
a363a1a034
* __start -> _start, ___start -> __start
...
* Bump _start() alignment to 4 bytes.
1999-08-23 09:23:06 +00:00
kleink
fc5695807b
Bump _start() alignment to 4 bytes.
1999-08-23 09:10:23 +00:00
matt
741f18b695
Initial VAX ELF32 support (mostly untested). It's checked primarily for
...
testing and archival for now. I don't expect anyone to work with it
since the binutils and gas changes are still pending. But you got to
crawl before you walk.
1999-08-21 19:26:18 +00:00
kleink
b9f86eb3a1
Namespace cleanup: move runtime linker interface into implementation namespace
...
and provide weak aliases.
1999-08-19 20:52:36 +00:00
fvdl
3cf76a4d16
Add _start (as well as __start). It's the default start symbol expected
...
by ld for the i386 ELF case.
1999-07-07 22:59:47 +00:00
simonb
6bf3aa19f9
More trailing white space.
1999-07-02 15:46:05 +00:00
thorpej
3787c5c3d8
MAP_COPY -> MAP_PRIVATE
1999-06-17 21:09:47 +00:00
kleink
196becef81
Declare dlerror()'s return value __aconst.
1999-05-19 14:50:49 +00:00
kleink
28d76befd4
When calling dlerror() in a non-dynamically linked executable, return a pointer
...
to an error string rather than NULL (`no errors occured) to indicate the cause
of failure return values of other dl*() interfaces.
1999-05-19 14:47:12 +00:00
kleink
faa2202a49
Use __weak_extern() instead of an asm statement.
1999-05-02 18:26:43 +00:00
simonb
45c86b888b
Instead of rolling our own "install" target, use FILES/FILESDIR and
...
LINKS to that things like "make install UPDATE=" work properly.
1999-04-03 16:39:31 +00:00
simonb
38ca0e64c8
s;/usr/lib;${LIBDIR};
1999-04-03 16:28:49 +00:00
tsubai
5f1a262044
Fix typo. (COPT --> COPTS)
1999-04-02 12:09:44 +00:00
thorpej
cb3c96c11e
Pull together common Makefile fragments for ELF crt0 files, and use it
...
across the board.
1999-03-20 00:32:40 +00:00
thorpej
0d19945594
Collect the top parts of the ELF crt0.c files into a common header, and
...
use it across the board.
crt0.c now contains stuff that REALLY IS machine-dependent, or stuff that
is completely intermingled in machdep code (and thus can't be separated
easily).
1999-03-20 00:13:51 +00:00
thorpej
0571914c5b
Garbage-collect ECOFF_COMPAT.
1999-03-19 23:55:17 +00:00
thorpej
3f196ccbc8
Put a good chunk of code common to all ELF crt0.c files into a common
...
location, and use it.
1999-03-19 23:34:49 +00:00
thorpej
4216363b47
Move crtbegin.c and crtend.c from alpha subdir to common_elf subdir via
...
repository copy, remove all redundant copies of these files, and make all
ELF platforms use the common versions.
1999-03-19 23:16:15 +00:00
thorpej
d002bd5dc3
Not used.
1999-03-19 23:11:53 +00:00
thorpej
84065de42a
Not used.
1999-03-19 23:00:16 +00:00
thorpej
216dc58aac
Oops, revert previous; thinko.
1999-03-19 22:58:04 +00:00
thorpej
3a25f9286e
Moved via repository copy to common_aout/
1999-03-19 22:56:01 +00:00
thorpej
d72bf587c9
Ajust for new location of a.out crt0 Makefile fragment.
1999-03-19 22:54:40 +00:00
thorpej
e9c1df5e9e
Fix -I path.
1999-03-19 22:50:20 +00:00
thorpej
faaf65e09f
Go ahead and built c++rt0.o on all non-ELF platforms (i.e. including arm32;
...
the hacks to make this work have been committed).
1999-03-19 22:42:16 +00:00
nisimura
00ab30d02b
- Make this compilable.
1999-03-19 01:17:41 +00:00
thorpej
63d06af169
Don't build c++rt.o if ELF.
1999-03-16 23:02:13 +00:00
eeh
3c92d3e233
Make things link correctly again.
1999-03-13 03:42:33 +00:00
kleink
f049fe75cc
Snapshot.
1999-03-08 11:03:43 +00:00
kleink
198e9a2784
s/rtld_setup/_rtld_setup/ to move it out of the user's name space.
1999-03-08 10:49:08 +00:00
tv
907d550100
This needs to use C///, not S///.
1999-02-27 21:13:50 +00:00
tv
803ae8725f
Add c++rt0 for arm32 with the "special" hacks. Put c++rt0.c in arm32's
...
own directory until it is "fixed".
1999-02-27 03:28:30 +00:00
tv
97df55d7ae
Remove -fpic condition for powerpc - we don't build c++rt0 for powerpc,
...
and powerpc has PIC now.
1999-02-27 03:27:54 +00:00
tv
a75b29d92f
Clean up mipse[bl]->mips substitution.
1999-02-27 03:27:01 +00:00
drochner
3654576f9f
make this build again after the mips->mipse? transition
1999-02-24 15:10:16 +00:00
christos
9c7fb208f8
If object_fmt == elf and we have machine_elf, build that one.
1999-02-03 10:55:12 +00:00
christos
b75634107c
Call 1-800-IAMIDIOT... We are not using the local registers...
1999-02-01 12:19:36 +00:00
christos
2dd07da4a9
Elf startup for sparc.
1999-01-31 21:15:31 +00:00
fvdl
b94126e9f9
Change ld_entry handling a bit to make dl*() from init sections work.
1999-01-28 23:59:49 +00:00
mycroft
26c8a9b676
Clean this up a little, and fix the compilation error caused by Manuel's
...
byte-swapping changes.
1999-01-22 11:45:16 +00:00
mycroft
d15c9ceb61
Remove items defined in common.h.
1999-01-22 11:29:16 +00:00
mycroft
1da636920d
Do not build on arm32 by default.
...
This is temporary.
1999-01-21 09:45:28 +00:00
christos
5042017dd3
Remove debugging code and unused variable.
1999-01-11 09:34:17 +00:00
christos
e748cbf6b0
Don't use %eax
1999-01-10 18:20:13 +00:00
christos
c77a99ad05
First pass at csu stuff for i386/elf.
1999-01-10 17:16:06 +00:00
tsubai
51f785d57d
Compile with -fPIC.
1998-11-24 11:16:11 +00:00
jonathan
de51528720
Change __init()/__fini() -> _init()/_fini().
1998-11-04 23:48:25 +00:00
matt
6707a40ca5
Enable shared libraries.
1998-10-31 09:22:29 +00:00
matt
7b9654d095
entry needs to be start, not _start
1998-10-23 00:52:53 +00:00
matt
52ca69699c
Make this work for shared libraries.
1998-10-19 01:37:35 +00:00
matt
11627a3416
Don't write the NUL at the end of string.
1998-10-19 01:35:00 +00:00
mrg
c0ea06b21f
remove MD asm as(1) comments from sysident.h, placing them in a comment
...
above the asm() block. now we can share sysident.h across all ports..
change ld.elf_so to be for $MACHINE == sparc64 not sparc (yet!).
1998-09-13 03:50:31 +00:00
eeh
c4a1bbfedb
This now works, although it does violate the ELF spec.
1998-09-13 01:50:17 +00:00
eeh
7a9702fb39
Fixup startup code.
1998-09-12 16:53:11 +00:00
eeh
07e25081fe
Add sparc64-specific stuff.
1998-09-11 03:36:23 +00:00
pk
015fada66a
Assign my copyrights to TNF.
1998-09-05 13:20:07 +00:00
mycroft
604e247818
Use the count at the beginning of __CTOR_LIST__.
1998-08-05 23:24:02 +00:00
mark
719323a7d4
Rewritten the entry code. Use r10 to determine is r0 contains a valid
...
ps_strings pointer. Use assembly to get argc, argv and argp and then
call __start().
1998-08-05 03:59:43 +00:00
thorpej
4d2424a47a
We need <sys/param.h> because sysident.h requires the `NetBSD' constant.
1998-07-27 21:46:49 +00:00
mycroft
26aa033c98
Adjust some #ifdefs.
1998-07-25 04:59:05 +00:00
mycroft
f5e7ca07dd
These all need types.h.
1998-07-25 04:45:04 +00:00
mycroft
d005dcbce0
Don't pull in param.h (and therefore don't pull in unistd.h).
1998-07-25 04:34:12 +00:00
mycroft
1b12566fa8
Revert previous incorrect change.
1998-07-25 04:23:44 +00:00
veego
833218f8ab
Fix the protoype of __syscall: s/int/quad_t/
1998-07-24 18:48:14 +00:00
kleink
de694bce9c
If the runtime linker does not indicate an error condition, let dlerror()
...
return a null pointer rather than the string returned by strerror(0).
1998-05-30 18:33:43 +00:00
pk
191c543b95
Add `dladdr()' stub.
1998-05-12 21:25:44 +00:00
pk
5de570e329
Include <dlfcn.h> before <link.h>
1998-05-12 21:25:18 +00:00
mrg
f23ec91e29
oops, forgot it add this earlier (pr#5425)
1998-05-09 03:48:37 +00:00
cgd
a21bdbd076
can't include crt.h; it's not gone!
1998-05-06 20:58:34 +00:00
ross
03363828ac
No longer needed, calls begin crtbegin & crtend were just removed.
1998-05-06 20:46:56 +00:00
ross
cbd1bb578a
Sigh, don't make global calls in repeated sharedlib components. It blows
...
away the dynamic loader.
1998-05-06 20:45:54 +00:00
mycroft
8f3189af13
Trivial change.
1998-05-06 09:30:26 +00:00
ross
ab2c05e5a3
Eliminate incorrect gcc-generated cross-section bsr's by calling the static
...
constructor/destructor dispatcher via a function pointer protected from
constant propagation. Also, create (presently unused) .S files that solve
the same problem and in addition allow in-line .init section and .fini
section code. This is too big a mod for a 3.2 pullup, however.
1998-05-06 05:32:08 +00:00
ross
bb44cd0d28
Put the vanilla versions of these into CVS so that Those Who Come Later
...
can see the hand assembly mods in a cvs diff rather than having to start over
from the prototype .c files. (Although these will also be available.)
1998-05-06 00:59:18 +00:00
mrg
2e9c82f79d
build standard NetBSD/ELF crt{begin,end}.o files, clean up some egcs warnings.
1998-05-02 21:26:54 +00:00
matthias
10f833afad
Move rcsid so that executables start with code again (that's just
...
tradition, not really necessary).
1998-04-21 19:53:39 +00:00
cgd
c0ac8bae67
GC alpha's ECOFF_TOOLCHAIN make variable, and related bits. Nobody
...
should be using an ECOFF toolchain on NetBSD/alpha any more.
1998-03-28 00:50:41 +00:00
jtc
6351dbac24
Rename initialization and termination functions from __init() and
...
__fini() to _init() and _fini(). The linker sets the DT_INIT and
DT_FINI .dynamic section entries based on the latter names.
1998-03-27 09:11:33 +00:00
matthias
77aae84af4
Undo last change. Global register variables really have to be declared
...
as register variables...
1998-03-16 22:22:14 +00:00
mark
156a6a5c98
Replace missing ; when calculating the environment pointer.
1998-03-10 22:32:08 +00:00
mycroft
4462053ab3
Fill in missing (default) mmap(2) flags.
1998-02-20 09:27:18 +00:00
thorpej
367b689c8f
typi
1998-02-07 20:44:40 +00:00
perry
43498a0a88
remove obsolete register declarations
1998-02-03 20:01:32 +00:00
pk
49c810b2c8
Avoid spurious calls to foreign constructors/destructors in case the
...
shared library we link with does not have any of its own.
Note: this only works for a.out(5).
1997-12-29 15:36:50 +00:00
lukem
cc8d1d3968
use a common Makefile.csu.aout for the a.out ports
1997-10-27 01:03:39 +00:00
thorpej
07de56201a
Fix think'o in previous.
1997-10-24 21:18:25 +00:00
lukem
fa2de9fb4c
use ${.CURDIR}/${SRCS} instead of ${.ALLSRC} (from i386/Makefile)
1997-10-24 00:35:22 +00:00
christos
88d2078c4f
Revert previous change ${.ALLSRC} will contain .h files etc.
1997-10-23 21:42:54 +00:00
lukem
6bf85c9ba3
* use CPPFLAGS instead of CFLAGS for -D and -I options
...
* use COPTS instead of CFLAGS for -fPIC et al
* use ${COMPILE.c} instead of ${CC} ${CFLAGS} -c
* use FILES and FILESDIR to install pc532 objects (instead of install: rule) -
this makes it consistent with the other a.out ports (arm32, i386, m68k, sparc)
1997-10-22 16:00:39 +00:00
lukem
a60b842a81
use CPPFLAGS instead of CFLAGS
1997-10-21 23:59:18 +00:00
thorpej
977b44de88
Ooops, typo in a comment.
1997-10-20 20:41:09 +00:00
thorpej
6a34a8996c
Add an __RCSID().
1997-10-20 20:40:27 +00:00
thorpej
58ee7fe2a9
Add an __RCSID().
1997-10-20 20:38:24 +00:00
christos
fd2bc36384
Move rcsid[] after the start symbol.
1997-10-20 16:09:27 +00:00
christos
aef9d1ed68
Move rcsid[] after start:, so that start starts at 0.
1997-10-20 16:08:28 +00:00
mycroft
2959c0da1f
Move the RCS id after `start', so that `start' is once again the first thing
...
in the text segment.
1997-10-20 13:49:45 +00:00
jonathan
338a11a3e7
RCSid police. Add __RCSID while we're here.
...
Add alternate label '_start' in front of __start() for installs with
DESTDIR or programs that assume '_start'.
1997-10-20 03:24:49 +00:00
christos
0e6b23ccbf
Put the align directive after .text...
1997-10-15 01:56:55 +00:00
christos
773ab1dd74
Put back __RCSID(): The problem was that if RCSID ended up in the text segment,
...
it was placed before `start', and start ended up misaligned. Add an alignment
directive for the start symbol. Of course ld(1) should not core-dump relocating
misaligned symbols, but this will be fixed shortly.
1997-10-14 17:11:03 +00:00
is
6183998d51
XXX Workaround for the "ld buserr with new crt0.o" problem, suggested by tls.
...
Should be backed out once the real problem has been solved.
1997-10-14 11:45:25 +00:00
mrg
395c20ea27
clean up WARNS on the alpha.
1997-10-10 08:45:29 +00:00
lukem
6fffd559bd
WARNSify (not yet tested on all platforms yet)
1997-10-09 12:29:21 +00:00
lukem
5b0e18c4e4
WARNSify
1997-10-09 07:07:14 +00:00
mark
fffd1f9f6b
Major overhaul and update to support dynamic loading and linking.
1997-10-05 23:12:21 +00:00
mark
8ae060d066
Overhauled and brought up to date.
1997-10-05 23:10:36 +00:00
thorpej
eb382f8e2b
Make sure we're passed a valid obj_entry.
1997-08-24 18:11:23 +00:00
jonathan
a1601b522b
Fix include path: use $(CURDIR). Kindly pointed out by <cgd@pa.dec.com>
1997-06-28 08:21:52 +00:00
jonathan
9b5e38ce15
Un-comment-out "CFLAGS+= -I/usr/src/libexec/ld.elf_so" for new crt0.c
1997-06-24 20:00:45 +00:00
jonathan
f4aee0fcbb
New, Alpha-derived crt0.c with ld.elf_so support.
...
Expects additional register-passed arguments from the kernel on
exec(). If no such args ($a0 is zero), fall back to the old hack of
adjusting the current $sp with a hard-coded frame offset for __start's
local frame(!).
Suggested by Jason Thorpe (thorpej@nas.nasa.gov ), debugged and
stackframe offsets updated by Jonathan Stone.
1997-06-23 22:04:34 +00:00
mikel
9dc08ab2a8
add parens for gcc -Wall
1997-06-19 06:02:06 +00:00
veego
a16ae1d6d0
Use FILES and FILESDIR instead of install:
1997-06-12 12:18:11 +00:00
christos
9a8f6b4e41
Use FILES
1997-06-05 21:30:54 +00:00
cjs
7a66732d34
Back out BUILDDIR and NOINSTALL changes.
1997-05-31 21:21:13 +00:00
veego
4e59f8c226
Remove the install: line and use FILES and FILESDIR.
1997-05-29 15:57:45 +00:00
cjs
5241c2a923
These makefiles need to include bsd.own.mk early-on so that they
...
know BUILDDIR and OBJDIR.
1997-05-29 15:13:00 +00:00
cjs
5fd7ce7066
These updates to the build allow building against include files
...
and libs in the object tree, if you use a separate object tree,
while maintaining backward compatability with other build methods.
See the notes in src/share/mk/bsd.README for full details. Note
that the `make includes' target now only installs the include files
in the build directory (if you use one--otherwise they go in DESTDIR
just like before); `make install' will install include files in
DESTDIR.
1997-05-26 03:55:19 +00:00
phil
ae7e730366
Force the link.
1997-05-19 23:24:21 +00:00
mycroft
eaaacab9dc
__ps_strings is initialized to 0.
1997-05-17 16:19:49 +00:00
phil
10a830a931
Add to install to link scrt0.o to crt0.o.
1997-05-15 15:56:08 +00:00
mycroft
cc4a1553a1
Eliminate bogus redefinitions of standard targets.
1997-05-09 07:50:03 +00:00
thorpej
489b4a686e
Fat-finger; one too many "_"'s in the entry point declaration.
1997-04-17 06:11:55 +00:00
thorpej
d5e51dc9c2
Correct a bogus comment, pointed out by Chris Demetriou <cgd@netbsd.org>
1997-04-16 20:53:15 +00:00
thorpej
406317dd8f
Fix a couple of things pointed out by Chris Demetriou <cgd@netbsd.org>:
...
- fix _DYNAMIC definition bogon
- add the ECOFF_COMPAT #ifdef's to make diffing with other ports that
use this code base easier
1997-04-16 20:50:46 +00:00
thorpej
ff5a472ce7
NetBSD/powerpc doesn't use the "generic" c++rt0.o
1997-04-16 19:43:53 +00:00
thorpej
062ebf7414
C run-time startup routines, based on NetBSD/alpha's, with modifications
...
for NetBSD/powerpc by me.
1997-04-16 19:38:22 +00:00
christos
8259dd08d6
Makefile cleanups:
...
use INCS variable to install includes and FILES to install objects.
1997-03-24 22:11:48 +00:00
cgd
5e25db4c59
pull in the sysident.h from ld.so, for NetBSD PT_NOTE generation
1997-03-21 05:47:28 +00:00
cgd
b3860e1660
fix _DYNAMIC definition bogon
1997-03-10 23:17:10 +00:00
cgd
78b14cccb3
s/mainprog_obj/__&/
1997-03-10 23:13:31 +00:00