Commit Graph

318 Commits

Author SHA1 Message Date
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