Commit Graph

305 Commits

Author SHA1 Message Date
mrg
6bea810c23 enable dot_init.h on both sparc & sparc64, fixing .init & .fini processing
for both platforms.  they share dot_init.h with a single #ifdef #define
difference...
2001-07-17 18:25:11 +00:00
simonb
1bc139fd41 Add but not enable correct .init/.fini handling. 2001-07-17 15:20:23 +00:00
mrg
f4bd34ec5f add but not enable correct .init/.fini handling. 2001-07-17 13:32:35 +00:00
mrg
ff68bb147c minor KNF 2001-07-17 13:28:05 +00:00
tsubai
4a0b75d5d2 Add the new .init/.fini support. 2001-07-17 12:16:43 +00:00
matt
119c72fb96 Add new init/fini to VAX ELF. 2001-07-17 06:45:46 +00:00
matt
ae9f64ff3b Turn-on new init/fini processing. 2001-07-17 06:39:14 +00:00
thorpej
4abcdae85e Enable the new (working) .init/.fini magic. 2001-07-17 03:56:48 +00:00
matt
126898a2cd Initial CSU for ARM with shared ELF. 2001-07-15 17:29:00 +00:00
fvdl
a84b13f43f CSU for x86-64 port. 2001-06-19 00:49:06 +00:00
mrg
f59b9e737f set FILESDIR to "${LIBDIR}", not hard coded /usr/lib. 2001-06-07 15:22:49 +00:00
fredette
e80c95ddb2 Don't use an EA with a scaled index, it isn't supported on the 68000. 2001-05-17 21:21:07 +00:00
fredette
872a39428c Don't compile with -fPIC when MACHINE_ARCH is m68000. 2001-05-17 21:17:02 +00:00
kleink
7bd28edec7 Add, but do not yet enable, m68k code for .init and .fini section fallthroughs. 2001-05-12 00:17:55 +00:00
ross
2d62241cb9 Reorganization of crtbegin/crtend.
o  Primary mod: alpha and i386 code for .init and .fini section fallthroughs
o  Actual fallthru is not yet enabled, see csu/{alpha,i386_elf}/Makefile
o  When enabled, should fix bin/12865 & should fix at least one WINE bug,
   see http://www.winehq.com/hypermail/wine-devel/2001/05/0021.html
o  Also, removed the function pointer hack put in to prevent gcc from
   incorrectly attempting to do short calls over section boundaries,
   on some architectures, rather, simply simply move ctors() and dtors()
   into .init and .fini.
Other notes.
o  Our crtbegin.c and crtend.c were completely in C, despite
   the fact that .init and .fini section fallthroughs require machine code.
   These modules implement the gnu ctors/dtors mechanism directly, eliminating
   in part the need for the elf .init/.fini section fallthrough. However,
   if we ever want to use the gnu-provided constructor support, we need to
   do the fallthrough, at least one program (WINE) apparently uses the
   feature independently, and other compilers may depend on the mechanism.
o  It is amusing that the previous NetBSD _init() and _fini() were put
   into the .init and .fini sections, because nothing is gained over
   plain .text if they don't fall through. Cargo cult!
o  Other elf ports will need to copy the alpha and i386 example mods.
2001-05-11 22:44:14 +00:00
bjh21
0113cca535 Our ARM ELF ld(1) currently has problems with PIC relocations, so don't
generate them.  I suspect this is safe until we get PIC in general working.
2001-04-28 17:32:33 +00:00
msaitoh
581638d47c check __LEADING_UNDERSCORE 2001-02-25 15:51:24 +00:00
eeh
6a9224a06d Remove old compatibility hack. Should no longer be needed. 2001-02-21 00:47:21 +00:00
simonb
71c90eeec6 ANSIfy and merge some stylistic changes from arm26/crt0.c.
No functional changes.
2001-02-18 23:03:34 +00:00
simonb
5df49e36f3 Fix typo. 2001-02-18 23:01:39 +00:00
bjh21
015575c577 Use _C_LABEL rather than _C_FUNC. 2001-02-03 16:25:26 +00:00
enami
0ebf8f7f72 - Fix typo
- Wrap long line
2001-01-10 13:20:17 +00:00
itojun
99b0df5333 use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix
2001-01-08 08:29:59 +00:00
itojun
264cf8dcf3 sh3 split 2001-01-04 08:01:49 +00:00
mycroft
94581370f5 The ELF ABI declares that argc must fill an `argument slot'. Make it so.
For __sparc_v9__ only, do a hack to make executables work temporarily before
and after the kernel is switched.
2000-07-26 15:40:07 +00:00
mycroft
209e309de1 Always dereference argc as an int. 2000-07-26 02:11:44 +00:00
mycroft
0ef3f52396 Make this work before and after the kernel is switched to DTRT with argc.
This is temporary, only to make the flag day less painful.
2000-07-25 21:42:55 +00:00
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