Commit Graph

340 Commits

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