Commit Graph

17223 Commits

Author SHA1 Message Date
christos 4df4d972d3 Welcome to 2014c
Changes affecting code

     zic now generates transitions for minimum time values, eliminating
     guesswork when handling low-valued time stamps.  (Thanks to Arthur
     David Olson.)

     Port to Cygwin sans glibc.  (Thanks to Arthur David Olson.)

   Changes affecting commentary and documentation

     Remove now-confusing comment about Jordan.  (Thanks to Oleksii
     Nochovnyi.)
2014-05-13 16:33:56 +00:00
wiz 8c54f70a11 Add An to authors. Wording. 2014-05-11 09:01:42 +00:00
christos 58ced3d761 Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler
2014-05-11 01:05:17 +00:00
njoly d6ab72b9c6 Remove error condition for negative length parameter; the
corresponding type is unsigned (size_t) and thus the value cannot be
negative.
2014-05-09 17:25:11 +00:00
plunky 4a71bf0e0e Move libsjjit and libbpfjit to the pre-dependency section and remove
the unnecessary .WAIT. They are both marked LIBISPRIVATE, which does
mean no link is performed, and there are no dependencies.
2014-05-09 08:36:09 +00:00
joerg 353aedd819 Make EHABI optional. 2014-05-06 16:02:10 +00:00
martin fb80a335f8 Comment out the ieee fp flags for alpha for now - something (tm) is not
working right, see PR port-alpha/48782.
2014-05-05 18:08:32 +00:00
martin 511cd1dbe5 Tune COPTS for alpha 2014-04-28 08:46:35 +00:00
pooka 0cafe662ce weak alias removal implication: rumpuser_dl_globalsym() can now sleep
with the fishes.
2014-04-27 15:18:59 +00:00
joerg dbb874e7a4 Avoid enum type mismatch. 2014-04-26 22:10:40 +00:00
pooka d9bf6db7cc pretend to handle the poll return value for -Wunused-but-set 2014-04-25 12:20:12 +00:00
joerg 61731496eb Retire USE_COMPILERCRTSTUFF=yes. 2014-04-22 13:20:58 +00:00
wiz 49f7bce00f Mention the word 'inode' next to st_ino so it's easier to find.
Bump date.
2014-04-10 17:11:15 +00:00
pooka 889d7bb33a play the "documentation matches implementation" game 2014-04-08 13:02:14 +00:00
christos b02e0dfacc add __stpncpy_chk 2014-04-06 19:29:37 +00:00
christos d5aa7d4d63 fix incorrect bounds check 2014-04-06 19:29:25 +00:00
christos 2d04609248 fix the limit check. 2014-04-06 01:13:59 +00:00
christos 18305a4758 fix off by one in stpcpy_chk.
christos
2014-04-06 01:01:49 +00:00
pooka e8083ecf03 Make sure holyfd is -1 when rumpclient_init() is called for
the first time after fork to prevent fd 0 from being closed.

should fix test failures, thanks to martin for the prod
2014-04-03 17:11:35 +00:00
justin 95e41b89b5 Add Android support for rump kernel.
Reviewed by pooka@
2014-04-02 17:09:23 +00:00
pooka e152ae2df5 fix build on NetBSD. also, prevent fd leak in error path 2014-04-02 15:04:19 +00:00
pooka 90c25cb369 On Linux, poll signalfd() when waiting for a kernel response.
This allows the same type of race-free handling of signals as kqueue()
allows on NetBSD.  One of the noticeable things is that you can now
interrupt rumprun ping mid-interval on Linux.

per suggestion from Justin Cormack
2014-04-02 14:48:03 +00:00
pooka cd76e7c732 Always use sysconf() to query host processor count instead of separate
tricks for each platform.
2014-04-02 13:54:42 +00:00
christos ff9eccbdec add -g to LINTFLAGS 2014-04-01 19:12:37 +00:00
dholland 120fd4cb9a add "move gethostbyname to a compat library" to the list of things to do
on the mythical libc bump
2014-03-29 19:30:12 +00:00
wiz 59200c73fc Remove trailing whitespace. Merge EINVAL entries. 2014-03-28 15:35:55 +00:00
degroote b45684b49b Document a bit CLOCK_VIRTUAL and CLOCK_PROF 2014-03-28 15:03:41 +00:00
joerg 47a96e3a4d _Unwind_GetLanguageSpecificData is supposed to return a _Unwind_Ptr.
This makes a difference on M68K as it uses a different register for
integer vs pointer values.
2014-03-24 21:26:01 +00:00
martin 6d0fe06315 Avoid strict aliasing problems 2014-03-23 15:26:47 +00:00
pooka 0ab0c8a502 fix name of HAVE_PTHREAD_SETNAME_3 2014-03-21 16:03:35 +00:00
pooka fe7fe5876f fix braces 2014-03-21 16:03:07 +00:00
pooka bc215c110d use a probe result to decide which pthread_setname_np() to use 2014-03-21 12:28:54 +00:00
pooka fa5f7ef47e set threadname for correct pthread_t 2014-03-21 12:07:10 +00:00
christos 13ec391985 CID 273814, don't confuse coverity. 2014-03-20 17:25:23 +00:00
uwe 66df54162c On sh3 __udivsi3 is gcc "millicode" with special calling convention
(less registers clobbered than usual).  Each DSO that needs it gets
its own hidden copy from libgcc.a.  Do not compile udivsi3.c for sh3
here since this C version doesn't conform to what gcc expects and
overrides the libgcc.a version.

This makes binaries compiled with gcc4.8 work.  The issue was not
exposed with gcc4.5 since it uses different division strategy by
default.
2014-03-19 20:30:53 +00:00
dsl 3a9ebe222a Change 'i0' to be signed so that the sign bit is preserved on 'k'
and the code at the bottom splits the multiply.
Fixes denormal results.
This might have been introduced when I deferred shifting 'k' left.
2014-03-18 21:52:19 +00:00
riastradh 6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
christos e2ecf243c3 fix memory leak
XXX: pullup 6
2014-03-17 13:24:23 +00:00
dsl 0f547b99f1 Simplify somewhat: this is C not FORTRAN-IV - we have structures!
Directly us 'ieee_double_shape_type' when ripping apart the fp number
  to avoid an extra store-load in 'STRICT_ASSIGN'.
Keep 'k' as the exponent, only do 'k << 20' when generating the fp number
  from it.
Fix infinity and underflow returns on i386 - because the value is returned
  in %st0 (x87 stack) we have to generate a long double error value.
The returned value for integers -1023 and below (which should be denormal
  fp valuesr) are 'just plain wrong' (tm).
2014-03-16 22:44:48 +00:00
dsl ec1660cff5 Fix overflow and underflow on i386.
The return value of a 'float' function is in the x87 %st(0) register.
This is an 80bit 'long double' register.
If you multiply 0x1p100f by 0x1p100f the caller sees 0x1p200 - not the
  expected infinity.
So use a 'double' value which goes through a store-load sequence to generate
  the required exception and value.
2014-03-16 22:30:43 +00:00
joerg 39f1409e2e __do_global_ctors_aux and __do_global_ctors_aux must be used locally, so
mark them as hidden.
2014-03-16 11:41:30 +00:00
njoly 61d6bfec15 Do not use uninitialized pointer if posix_memalign() fails. 2014-03-16 10:23:59 +00:00
martin 16e71f2a62 Add roundl() 2014-03-16 10:02:27 +00:00
martin d30e39112d Provide all missing variants of trunc/floor/ceil. 2014-03-16 09:51:39 +00:00
martin 03e412de5e Need to load the full argument 2014-03-15 14:12:56 +00:00
martin 89434fa764 Provide copysignf and copysignl 2014-03-15 12:20:09 +00:00
dsl 092f718fed There is some very odd code in s_exp2.c that only works if 'double'
values are rounded to 53 bit mantissa in teh x87 registers.
This hasn't been true since Nov 11 2013.
Forcing a store-load for 'double' in STRICT_ASSIGN() seems to fix things
  (at least enough for the few random test cases).
I suspect the code could be changed so that the number of mantissa bits
  didn't matter.
2014-03-14 22:21:31 +00:00
cherry 27f396ba32 Add crtstuff for ia64. Compile tested only 2014-03-14 18:15:02 +00:00
justin 54d90457f6 If dlopen returns NULL assume we are statically linked and return,
rather than getting a warning when dlinfo fails.
2014-03-14 01:18:39 +00:00
pooka 300f37afc0 Do not process linkmaps if there is exactly one link map present
(i.e. there is no ld.so).  Makes statically linked rump kernels work on
glibc (at least for me).

based on some discussion with Justin Cormack
2014-03-13 11:21:54 +00:00
martin 7a17404a6d XXX This is all wrong and needs new tables and constants - but at least use
constants in the VAX double range for now, so it is compilable with newer
gcc.
2014-03-12 19:42:18 +00:00
wiz 4e760575d6 Remove trailing whitespace. 2014-03-12 18:17:06 +00:00
dholland 1e9d60e3bf typo 2014-03-12 07:32:46 +00:00
pooka 43925050d7 rump_pub_getversion -> rump_getversion 2014-03-10 22:47:27 +00:00
justin cf83766ecf Revert conversion to __thread as breaks on archs without TLS support 2014-03-10 22:37:51 +00:00
justin 587ef2949a Use __thread rather than pthread_getspecific for rumpuser curlwp.
This has better performance and curlwp is a performance bottleneck
in rump kernel code.
2014-03-09 23:01:11 +00:00
christos bb5309eeb0 another libelf instance 2014-03-09 21:37:37 +00:00
christos 0c84150c90 switch to the elftoolchain code. 2014-03-09 17:09:20 +00:00
matt 1de2b6f186 This is no different from the 32bit powerpc one.
Remove the redundancy.
2014-03-07 07:26:42 +00:00
matt 2a0cd0801f these are obsolete. Now using the common powerpc files in csu/arch/powerpc. 2014-03-07 07:23:49 +00:00
christos 9669e36fb7 reduce diffs with other copies of this code. 2014-03-07 01:07:01 +00:00
christos 32a8f22f2c Fix incorrect overflow test: https://android-review.googlesource.com/#/c/50570/ 2014-03-07 01:00:58 +00:00
matt f99069ca40 Use _XENTRY 2014-03-06 19:05:59 +00:00
skrll 1b5cff8f1d Move to a flat space register convention. %sr[4-7] are all now the space
number allocated to the process.  gcc produces (slightly) better code
with this convention.

Retain backwards compatiblity.

Welcome to 6.99.36
2014-03-06 19:02:58 +00:00
martin ed95e9602b Include new/missing files for vax 2014-03-06 11:01:16 +00:00
martin 74530a2d26 Provide sqrtl alias 2014-03-06 11:00:17 +00:00
martin f03b314bc0 Simple tanf() for vax 2014-03-06 10:59:52 +00:00
martin ea3fa8f391 Simplistic tanhf() for vax 2014-03-06 10:59:00 +00:00
martin 96c6725640 Simplistic log1pf() for vax 2014-03-06 10:58:26 +00:00
martin ae998fcbfa log10f() for vax 2014-03-06 10:57:44 +00:00
martin d408a8629c log2() for vax 2014-03-06 10:57:01 +00:00
martin 13958f72dc Add brute-force adaptions of the ieee version of exp2() and exp2f for
vax. Needs some polishing (and table adaption), but should get the build
going for now.
2014-03-06 10:55:57 +00:00
joerg 6ccf4859e4 Add GENASSYM_CPPFLAGS in two more places. 2014-03-04 17:57:56 +00:00
joerg 9c3fd52490 Introduce GENASSYM_CPPFLAGS for options during genassym processing.
Consistently drop assembler flags.
2014-03-04 14:58:14 +00:00
matt c1987519cf #include <m68k/m68k.h> 2014-03-04 06:38:08 +00:00
matt 94c30368e1 The fixuns* come from compiler_rt so softfloat doesn't need to provide them. 2014-03-04 06:30:40 +00:00
matt c479ba2f5a Avoid a warning and just do the trap #1 instead of calling sigreturn inline.
If it fails, it'll fall into the botch case so don't bother calling CERROR
on failure.
2014-03-04 06:27:00 +00:00
pooka 98974ef8eb add man page for rumpfs 2014-03-03 18:27:20 +00:00
dsl 77e93a9cb9 Drop in a fabs() after the fsqrt().
While it may seem pointless, it the rouding mode is set to round towards
minus infinity then acos(-1) calculates atan2(sqrt(1.0 - 1.0), -1) the subtract
generates -0.0 which sqrt() preserves.
atan2(-0, -1) is -pi, but acos(-1) is expected to be +pi.
This might 'fix' the test failures seen in some environments, but they
are not failing due to an obvously incorrent x87 rounding mode.
2014-03-03 08:00:50 +00:00
matt e0c9b05e1a Change remaining "MACHINE_ARCH" to "LIBC_MACHINE_ARCH" 2014-03-02 03:04:52 +00:00
pooka 8a7d14d1c2 Fix locking SNAFU.
Is someone can explain why the code worked for 3+ years with multiple
different pthread implementations, I'll buy you a banana.
2014-02-28 13:55:36 +00:00
blymn 0d7a04cd28 Fix reversed logic in the notimeout call.
Fix obsolete email addresses in copyright.
2014-02-28 07:58:42 +00:00
matt 22332fd4bf Use _ENTRY 2014-02-27 18:11:08 +00:00
joerg 0d337fe4e9 Remove tautological check. 2014-02-27 18:09:38 +00:00
matt 96ed0d69f5 Use the CALL() macro. 2014-02-27 18:01:51 +00:00
matt a877c70108 Add powerpc64 support 2014-02-27 16:47:48 +00:00
uwe c83f85c76a G/c old unused sh3 csu. Requested by joerg@ 2014-02-27 02:14:27 +00:00
joerg a48c968746 Update compiler-rt glue for the new source layout. 2014-02-26 22:37:55 +00:00
martin fb526759de Make the .note section mergable and set proper "item" length.
XXX seems to be impossible to do that with gas w/o causing a (bogus)
warning - but the resulting object file is fine.
2014-02-26 14:54:50 +00:00
christos 0680d7215e Add missing EL_REFRESH 2014-02-26 13:50:29 +00:00
mrg afa90f2bf5 prepare for moving GCC 4.5 into gcc.old:
- convert to using ${EXTERNAL_GCC_SUBDIR}
- define base-external-gpl3-gcc* subdir as GCC_SUBDIR
- use <bsd.init.mk> over <bsd.own.mk> for a bunch of places; mostly
  because it arranges for ../Makefile.inc to be included earlier, and
  don't bother including the latter if the former is already included.
- move all .PATH: settings after <bsd.{own,lib}.mk> so that all
  valid variables are set before it is evaluated
- rename mknative-gcc* to match their subdir name.

XXX the relationship between the Makefile.inc/Makefile.gcc_path files
    is kind of sketchy, it would be great if this was fixed.
2014-02-26 09:54:32 +00:00
pooka 94265f339d Use MAP_ANON|MAP_PRIVATE for anonymous memory mapping,
e.g. Linux gets upset if just MAP_ANON.
2014-02-26 02:03:40 +00:00
pooka a2867970a4 emulate printflike properly to avoid fatal error on clang 2014-02-25 20:58:18 +00:00
martin b67fdf35da Powerpc seems to expect minimum 8 byte alignment from malloc as well. 2014-02-25 12:13:19 +00:00
dholland 56052b0a66 pipe2 requires fcntl.h for its flags; PR 48614 from Steffen Daode Nurpmeso.
Also fix the wording for EINVAL as suggested by Robert Elz.
2014-02-22 17:26:41 +00:00
palle 4ad8530004 sun4v: Rename TLB_ defines to SUN4U_TLB_ so entries created using TSB_DATA() are properly setup for sun4u and sun4v. Relocate the cputyp variable from autoconf.c to locore.s and make it const in param.h so optimized code can be generated. Parts from OpenBSD. Optimization suggested by nakayama@. OK martin@, mrg@, nakayama@ 2014-02-21 18:00:09 +00:00
blymn 74ff043f96 Correct the implementation of mvderwin, it now works as specified by
SUSv2.
2014-02-20 09:42:42 +00:00
pooka 613311d8d7 remember to commit this file too 2014-02-20 01:24:49 +00:00
pooka fb8e281673 make implementation of rumpuser_kill() match the documentation 2014-02-20 00:44:20 +00:00
pooka 64a85ea946 document rumpuser_kill() 2014-02-20 00:43:26 +00:00