Commit Graph

1377 Commits

Author SHA1 Message Date
matt
015f9bbf7a Pullup fixes from matt-nb5-mips64.
This makes setjmp/longjmp work again.
2010-09-03 17:22:51 +00:00
mrg
4c92852a80 remove almost all the ability to build netbsd with an a.out target.
we're ELF now, and there are many missing checks against OBJECT_FMT.
if we ever consider switching, the we can figure out what new ones
we need but for now it's just clutter.

this doesn't remove any of the support for exec_aout or any actually
required-for-boot a.out support, only the ability to build a netbsd
release in a.out format.  ie, most of this code has been dead for
over a decade.

i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari,
amiga, shark, cats, dreamcast, landisk, mmeye and x68k.  this covers
the 5 MACHINE_ARCH's affected, and all the other arch code touched.
it also includes some actual run-time testing of sparc, i386 and
shark, and i performed binary comparison upon amiga and x68k as well.


some minor details relevant:
- move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them
  down to only the parts ldconfig needs
- remove various unused source files
- switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
2010-07-06 05:59:50 +00:00
mrg
3bdcb2e4b5 add a nop to provide enough space for the linker and long calls.
fixes link errors with 'cerror' and libposix.

from dennis.c.ferguson@gmail.com in PR#43010.
2010-03-22 02:17:23 +00:00
mrg
093c642fac replace kernel-only 'stmd' and 'lmd' operations in userland with equivalent
sequences of code, as done in eg, powerpc64/gen/_setjmp.S rev 1.2.

from dennis.c.ferguson@gmail.com in PR#43009.
2010-03-22 01:39:11 +00:00
mrg
19499f3f8d update all of these makefiles for the .so -> .pico change.
most of them are most harmless, but the libgcc parts are quite essential.
before this change, all the special rules for .pico files were not applied,
and exception handling wasn't enabled.  this caused c++ exceptions not to
work on sparc64.


this fixes the build of boost-headers (it was correctly calling exception
support broken!), which in turn makes all the things that depend upon it
to actually work again on sparc64.
2010-03-14 00:26:09 +00:00
uwe
6fc217346b Add memset to libkern on vax, moving existing memset.S to src/common.
While kernel source code is supposed to use <machine/macros.h> via
<sys/param.h> and pick an inline asm version from there, gcc itself
can generate direct calls to memset() for structure initialization, so
the symbol must be provided.

Fixes INSTALL kernel, for which -Os caused gcc to use memset() call to
initialize a struct in uvm_fault_internal().
2010-03-12 09:12:34 +00:00
joerg
56da4fa7b5 Move AMD64's bswap64 implementation from libc to src/common and share it
with the kernel.
2010-01-14 02:09:46 +00:00
skrll
5ddaffd107 Deal with PLABELs in _lwp_makecontext 2010-01-07 12:31:10 +00:00
matt
42b55ff43a Fix typo. 2009-12-14 02:53:52 +00:00
matt
2288207161 Merge from matt-nb5-mips64. 2009-12-14 01:07:41 +00:00
uebayasi
09afef2063 Rename ${SRCS.{alpha,arm,...}.gen} to ${LSRCS.{alpha,arm,...}.gen} because
they ended up in ${LSRCS}, not ${SRCS}.  ${SRCS.*} namespace will be used
for more useful things.  No functional changes intended.
2009-12-06 07:12:17 +00:00
uebayasi
619e0bd90e Set ${SRCS.softfloat}. 2009-12-06 07:05:50 +00:00
christos
ad4d8ed92e Add no/op routines for m68000 for the sticky, mask, and round settings. 2009-11-28 23:46:38 +00:00
snj
32381fa0dd Follow upstream license changes for files with Michael Shalayeff's
copyright.  In most cases, this means dropping the 3rd and 4th clauses.
2009-11-03 05:07:25 +00:00
skrll
43f47d3c56 G/C bcopy.m4 and references to it. 2009-10-21 19:30:46 +00:00
phx
c9394f466a SystemV-R4 ABI for M68k returns pointers in %a0, so we have to make sure
that CERROR returns -1 in %a0 in addition to %d0 and %d1, to make functions
like mmap(2), mremap(2), shmat(2) or sbrk(2) return -1 in case of an error.
A side effect of this bug was a segfault caused by jemalloc, when mmap()
failed.
2009-10-03 22:28:33 +00:00
dsl
a245205b96 Change NO_SRCS lines to specify .S in order to exclude the .c file from
SRCS but add it to LSRCS (sort of makes sense!).
2009-08-11 17:30:43 +00:00
dsl
d3c3d024a7 bzero.S defines memset(), so exclude memset.c 2009-08-03 06:26:41 +00:00
dsl
af129c0bc8 bzero.S also defines memset(), so exclude memset.c 2009-08-03 06:25:34 +00:00
dsl
8190cfe5fa Don't remove imaxdiv.c 2009-07-31 20:54:35 +00:00
dsl
10ad5ffa71 Add the 'abs', 'div' and 'erand48' sources to stdlib/Makefile.inc.
Change the arch files only include the .S files.
This adds imaxdiv() to some archs where it was missing.
2009-07-31 20:39:59 +00:00
dsl
f0a25cf095 Stop bcopy.c and bzero.c being compiled 2009-07-30 21:26:36 +00:00
dsl
0d34d14bb9 If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.
2009-07-30 20:57:15 +00:00
dsl
6dffe8d42b Remove references to index.c and rindex.c (strchr.c and strrchr.c
now provide the definitions).
2009-07-18 09:44:30 +00:00
dsl
03c902aa70 Change all archs so that strchr.[cS] and strrchr.[cS] exist and generate
duplicate symbols for index() and rindex().
libc and kernel build ok for affected archs (i386, amd64, vax, sun3,
evbmips-eb) all seem ok.
(vax might lose an asm index() - but comments imply it is worse than the C)
2009-07-17 19:37:54 +00:00
joerg
9d87375b3e Fix stack alignment for the thread stack. The AMD64 stack has 16 Bytes
alignment, but this is active before the return address is pushed onto
the stack.  Fixes random crashes in va_start when the SSE registers are
saved.
2009-07-02 09:57:09 +00:00
joerg
c1faa994fd Reduce diff to makecontext. 2009-07-01 16:54:41 +00:00
christos
2a6e000238 add _lwp_makecontext for the vax. 2009-06-03 01:02:28 +00:00
he
5da54c35c9 Based on input from Eduardo Horvath (eeh@), replace 'stmd' and 'lmd',
which apparently don't exist as instructions, with a sequence of
std / ld instructions.

Also remove the attempted include of ldstm.S which we don't have.
2009-03-08 18:57:12 +00:00
martin
c79c3eed1d Make NAN a compile time constant (with help from the compiler). Suggested
by krister. Fixes PR 40695.
Make references to the old construct (which we can't remove for binary
compatibility reasons) emit a linker warning.
2009-02-22 01:34:01 +00:00
lukem
b85aa1ea53 fix -Wsign-compare issue 2009-02-16 03:23:29 +00:00
mhitch
86223c379c The explicit integer bit is "don't care" for infinity, and now that it's
included in ext_frach, it needs to be masked off when testing for an
infinity value.  Fixes the ieeefp/infinity regression test on the 68060
which clears the explicity integer bit when loading an infinity value.
2009-01-30 07:00:45 +00:00
skrll
14c5fc5d63 Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.

Fixes the ieeefp/except regresion test.
2009-01-25 16:44:41 +00:00
christos
461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
martin
10b0d64e49 Remove __LIBC12_SOURCE__ 2008-11-24 16:10:27 +00:00
nakayama
531d468612 Redo rev.1.13. We must refer to CURBRK via GOT in case of PIC. 2008-11-06 13:42:55 +00:00
mrg
2f0d0e12bf define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build. 2008-10-26 07:43:07 +00:00
matt
cac8e44915 Add C99 functions imaxabs and imaxdiv. 2008-08-04 21:29:27 +00:00
matt
01b36ae8ad Use WEAK_ALIAS 2008-08-04 20:26:38 +00:00
matt
e796a34c9c Use WEAK_ALIAS.
Add imaxabs weak alias.
2008-08-04 20:21:26 +00:00
rmind
7781a976a7 Avoid calling a syscall when argument to sbrk(2) is zero.
OK by <ad>.
2008-07-02 20:07:43 +00:00
martin
5d1469bd77 Backout previous: the license sweep touched these files in error, so
restore the old license.
2008-05-10 15:31:03 +00:00
martin
f1a537e1d9 Fix nested comment and move to 2 clause license 2008-05-02 18:34:17 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
dogcow
690e5f1c0b add matching END(). found via -Wa,--fatal-warnings 2008-04-22 04:47:44 +00:00
garbled
6f4524c1a6 Fix a stupid typo in a comment. Pointed out by Juergen Hannken-Illjes. 2008-04-18 08:05:05 +00:00
garbled
1ad3697abd Back out the ppc assembler changes for memcpy/memmove/memcmp on evbppc.
It breaks the explora because the cpu (403) cannot deal with unaligned
accesses.  Reported by Juergen Hannken-Illjes.
2008-04-18 05:34:04 +00:00
chris
c82cfbf571 Use SYSTRAP macro, rather than inlining the swi instruction.
This makes sure the SWI will be in the NetBSD assigned range of swi
numbers.
2008-03-30 21:22:05 +00:00
he
0db6a6b023 When compiling for _STANDALONE, omit a bunch of headers which aren't really
needed and which trigger build problems.

(These two files should probably be unified and put under common/...)
2008-03-18 20:11:43 +00:00
he
71ca0c37fa As mrg@ informs me, delay slots are indented 1 and not 2 spaces. 2008-03-10 18:31:08 +00:00