259065 |
07-Dec-2013 |
gjb |
- Copy stable/10 (r259064) to releng/10.0 as part of the 10.0-RELEASE cycle. - Update __FreeBSD_version [1] - Set branch name to -RC1
[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so start releng/10.0 at '100' so the branch is started with a value ending in zero.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
254463 |
17-Aug-2013 |
jilles |
libc: Access _logname_valid more efficiently.
The variable _logname_valid is not exported via the version script; therefore, change C and i386/amd64 assembler code to remove indirection (which allowed interposition). This makes the code slightly smaller and faster.
Also, remove #define PIC_GOT from i386/amd64 in !PIC mode. Without PIC, there is no place containing the address of each variable, so there is no possible definition for PIC_GOT.
|
251047 |
28-May-2013 |
kib |
The getcontext() from the __fillcontextx() call in the check_deferred_signal() returns twice, since handle_signal() emulates the return from the normal signal handler by sigreturn(2)ing the passed context. Second return is performed on the destroyed stack frame, because __fillcontextx() has already returned. This causes undefined and bad behaviour, usually the victim thread gets SIGSEGV.
Avoid nested frame and the need to return from it by doing direct call to getcontext() in the check_deferred_signal() and using a new private libc helper __fillcontextx2() to complement the context with the extended CPU state if the deferred signal is still present.
The __fillcontextx() is now unused, but is kept to allow older libthr.so to be used with the new libc.
Mark __fillcontextx() as returning twice [1].
Reported by: pgj Pointy hat to: kib Discussed with: dim Tested by: pgj, dim Suggested by: jilles [1] MFC after: 1 week
|
249582 |
17-Apr-2013 |
gabor |
- Correct mispellings of the word occurrence
Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (via private mail)
|
246117 |
30-Jan-2013 |
kib |
Rework the __vdso_* symbols attributes to only make the symbols weak, but use normal references instead of weak. This makes the statically linked binaries to use fast gettimeofday(2) by forcing the linker to resolve references and providing the neccessary functions.
Reported by: bde Tested by: marius (sparc64) MFC after: 2 weeks
|
240152 |
05-Sep-2012 |
jilles |
libc/i386: Do not export .cerror.
For some reason, libc exports the symbol .cerror (HIDENAME(cerror)), albeit in the FBSDprivate_1.0 version. It looks like there is no reason for this since it is not used from other libraries. Given that it cannot be accessed from C and its strange calling convention, it is rather unlikely that other things rely on it. Perhaps it is from a time when symbols could not be hidden.
Not exporting .cerror causes it to be jumped to directly instead of via the PLT.
This change also takes advantage of .cerror's new status by not saving and loading %ebx before jumping to it. (Therefore, .cerror now saves and loads %ebx itself.) Where there was a conditional jump to a jump to .cerror, the conditional jump has been changed to jump to .cerror directly (many modern CPUs don't do static prediction and in any case it is not much of a benefit anyway).
This change makes libc.so.7 a few kilobytes smaller.
Reviewed by: kib
|
238328 |
10-Jul-2012 |
davidxu |
Executing CPUID with EAX set to 1 to actually get feature flags. PR: 169730
|
237434 |
22-Jun-2012 |
kib |
Use struct vdso_timehands data to implement fast gettimeofday(2) and clock_gettime(2) functions if supported. The speedup seen in microbenchmarks is in range 4x-7x depending on the hardware.
Only amd64 and i386 architectures are supported. Libc uses rdtsc and kernel data to calculate current time, if enabled by kernel.
Hopefully, this code is going to migrate into vdso in some future.
Discussed with: bde Reviewed by: jhb Tested by: flo MFC after: 1 month
|
233520 |
26-Mar-2012 |
joel |
mdoc: sort prologue macros.
|
230864 |
01-Feb-2012 |
kib |
Make the sys/ucontext.h self-contained by changing the return type of __getcontextx_size(3) from size_t to int.
PR: ports/164654 MFC after: 1 month
|
230429 |
21-Jan-2012 |
kib |
Add API for obtaining extended machine context states that cannot be fit into existing mcontext_t.
On i386 and amd64 do return the extended FPU states using getcontextx(3). For other architectures, getcontextx(3) returns the same information as getcontext(2).
Tested by: pho MFC after: 1 month
|
229571 |
05-Jan-2012 |
ed |
Change index() and rindex() to a weak alias.
This allows people to still write statically linked applications that call strchr() or strrchr() and have a local variable or function called index.
Discussed with: bde@
|
229368 |
03-Jan-2012 |
ed |
Merge index() and strchr() together.
As I looked through the C library, I noticed the FreeBSD MIPS port has a hand-written version of index(). This is nice, if it weren't for the fact that most applications call strchr() instead.
Also, on the other architectures index() and strchr() are identical, meaning we have two identical pieces of code in the C library and statically linked applications.
Solve this by naming the actual file strchr.[cS] and let it use __strong_reference()/STRONG_ALIAS() to provide the index() routine. Do the same for rindex()/strrchr().
This seems to make the C libraries and static binaries slightly smaller, but this reduction in size seems negligible.
|
227024 |
02-Nov-2011 |
kib |
Despite official i386 ABI does not mandate any stack alignment besides the word alignment, some versions of gcc do require 16-byte alignment. Make sure the stack is 16-byte aligned before calling a subroutine.
Inspired by: PR amd64/162214 MFC after: 1 week
|
226606 |
21-Oct-2011 |
das |
Replace a proliferation of buggy MD implementations of modf() with a working MI one. The MI one only needs to be overridden on machines with non-IEEE754 arithmetic. (The last supported one was the VAX.) It can also be overridden if someone comes up with a faster one that actually passes the regression tests -- but this is harder than it sounds.
|
218303 |
04-Feb-2011 |
kib |
Remove duplicate .note.GNU-stack section declaration. bcopy already made the neccessary provisions.
Reported by: arundel
|
217106 |
07-Jan-2011 |
kib |
Add section .note.GNU-stack for assembly files used by 386 and amd64.
|
213326 |
01-Oct-2010 |
jilles |
libc: Remove the i386 assembler version of strlen(3).
On anything modern, the C version, which processes a word at a time, is much faster. The Intel optimization manual explicitly warns against using REP prefixes with SCAS or CMPS, which is exactly what the assembler version does.
A simple test on a Phenom II showed the C version, compiled with -O2, to be about twice as fast determining the length of 100000 strings between 0 and 255 bytes long.
MFC after: 2 weeks
|
213308 |
30-Sep-2010 |
dim |
Retire the amd64 and i386 specific inline assembly versions of ldexp.c, as they are slower than the generic version in C, at least on modern hardware. This leaves us with just five implementations.
Suggested by: bde Approved by: rpaulo (mentor)
|
212976 |
21-Sep-2010 |
rpaulo |
Workaround LLVM bug #4434:
Reorder inline assembly arguments temp2, temp, value and texp to follow the st(0), st(1), etc. style. Also mark the temp2 variable as volatile to workaround another clang bug. This allows clang to buildworld FreeBSD/i386.
Submitted by: dim
|
194688 |
23-Jun-2009 |
ed |
Remove hand-written labs/abs implementations. GCC is smart enough.
It turns out GCC generates code that's a couple of bytes big bigger, but performs no branching whatsoever.
Submitted by: Christoph Mallon
|
194621 |
22-Jun-2009 |
ed |
Remove unneeded stores back into the function arguments.
Submitted by: Christoph Mallon
|
190632 |
01-Apr-2009 |
kib |
Unconditionally build wrappers for i386_get_ioperm(), i386_set_ioperm(), i386_get_ldt() and i386_set_ldt().
In collaboration with: pho Reviewed by: jhb
|
184996 |
15-Nov-2008 |
peter |
On i386, the primary function that SYSCALL() generates is with the __sys_ prefix. Make END() match. This didn't cause a compile error, but the function size is attached to the .weak symbol, not the real one.
|
184789 |
09-Nov-2008 |
ed |
Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4.
Looking at our source code history, it seems the uname(), getdomainname() and setdomainname() system calls got deprecated somewhere after FreeBSD 1.1, but they have never been phased out properly. Because we don't have a COMPAT_FREEBSD1, just use COMPAT_FREEBSD4.
Also fix the Linuxolator to build without the setdomainname() routine by just making it call userland_sysctl on kern.domainname. Also replace the setdomainname()'s implementation to use this approach, because we're duplicating code with sysctl_domainname().
I wasn't able to keep these three routines working in our COMPAT_FREEBSD32, because that would require yet another keyword for syscalls.master (COMPAT4+NOPROTO). Because this routine is probably unused already, this won't be a problem in practice. If it turns out to be a problem, we'll just restore this functionality.
Reviewed by: rdivacky, kib
|
184548 |
02-Nov-2008 |
peter |
Add missing END() macros, as per rev 184547 for amd64. The lack of these is mostly harmless, but it does upset some of valgrind's functionality.
|
180081 |
28-Jun-2008 |
das |
We should also save and restore the MXCSR as on amd64, but detecting whether the CPU supports SSE or not here is rather odious.
|
175402 |
17-Jan-2008 |
bde |
Add an alternative view of the bits in an 80-bit long double (64+16 instead of 32+32+15+1) on all arches that have such long doubles (amd64, ia64 and i386). Large objects should be be accessed in large units, and the 32+32+15+1[+padding] decomposition asks for almost the opposite of that, sometimes resulting in very slow accesses depending on how well the compiler ignores what we ask for and converts to the best units for the given machine. E.g., on Athlons, there is a 10-20 cycle penalty for accessing the middle 32-bit word immediately after an 80-bit store.
Whether actually using the alternative view is better is very machine- dependent. A 32+32+16 view is probably best with old 32-bit systems and gcc through 4.2.1. The compiler should mostly avoid the view and generate best accesses, but gcc-4.2.1 is far from doing that. I think 64+16 is best for now. Similarly for doubles -- they should be using 64+0 especially on 64-bit machines, but fdlibm uses 32+32 extensively for them. Fortunately, in 64-bit mode for doubles, gcc already ignores the 32+32-bit view and generates best accesses in many cases.
|
174759 |
18-Dec-2007 |
das |
Since nan() is supposed to work the same as strtod("nan(...)", NULL), my original implementation made both use the same code. Unfortunately, this meant libm depended on a vendor header at compile time and previously- unexposed vendor bits in libc at runtime.
Hence, I just wrote my own version of the relevant vendor routine. As it turns out, mine has a factor of 8 fewer of lines of code, and is a bit more readable anyway. The strtod() and *scanf() routines still use vendor code.
Reviewed by: bde
|
174681 |
16-Dec-2007 |
das |
Export gdtoa's __ULto{x,Q}_D2A routine in a private namespace so libm can use it.
|
174680 |
16-Dec-2007 |
das |
Arrange so that the NaN returned by strtod("nan", NULL) is the same as the NaN returned by strtod("nan()", NULL).
|
174204 |
03-Dec-2007 |
das |
In scanf, round according to the current rounding mode.
|
171218 |
04-Jul-2007 |
peter |
Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo syscalls, unless WITHOUT_SYSCALL_COMPAT is defined. The default case will have the .c wrappers still. If you define WITHOUT_SYSCALL_COMPAT, the .c wrappers will go away and libc will make direct syscalls.
After 7-stable starts, the direct syscall method will be default.
Approved by: re (kensmith)
|
171217 |
04-Jul-2007 |
peter |
Adjust the syscall stub macros to be consistent in their meaning. In particular: SYSCALL() makes a syscall, with errno handling, and continues execution directly after the macro in the non-error case. RSYSCALL() is just like SYSCALL(), but returns after success. Both SYSCALL(name) and RSYSCALL(name) export "__sys_name" as a strong symbol, with "_name" and "name" as weak aliases. PSEUDO() is just like RSYSCALL(), but skipping the "name" weak alias. It still does "__sys_name" and "_name".
Change i386 to add errno handling to PSEUDO. The same for amd64 and sparc64, with appear to have copied the behavior. ia64 was correct (as was alpha). Just remove some apparently unused variants of the macros. (untested!) I believe powerpc is correct. Fix arm to not export "name" from the PSEUDO case. Remove apparently extra unused variants. (untested!)
The errno problem manifested on i386/amd64/sparc64 by having "PSEUDO" classified syscalls return without setting errno. eg: "addr = mmap()" could return with "addr" = 22 instead of setting errno to 22 and returning -1.
Approved by: re (kensmith)
|
170154 |
31-May-2007 |
deischen |
Some libc symbol map cleanups.
net: endhostdnsent is named _endhostdnsent and is private to netdb family of functions.
posix1e: acl_size.c has been never compiled in, so there's no "acl_size".
rpc: "getnetid" is a static function.
stdtime: "gtime" is #ifdef'ed out in the source.
some symbols are specific only to some architectures, e.g., ___tls_get_addr is only defined on i386.
__htonl, __htons, __ntohl and __ntohs are no longer functions, they are now (internal) defines in <machine/endian.h>.
Submitted by: ru
|
169525 |
13-May-2007 |
deischen |
Remove .mcount from gmon's Symbol map and add it to the appropriate arch. It can be named differently depending on the arch (.mcount, _mcount).
Submitted by: marius
|
169092 |
29-Apr-2007 |
deischen |
Use C comments since we now preprocess these files with CPP.
|
168556 |
09-Apr-2007 |
kan |
Clean-ip TLS symbol versions. [_]__tls_get_addr function is part of the platform ABI and as such does not belong in FBSDprivate.
__libc_tls_* functions do not have to be visible to outside world at all.
|
165903 |
09-Jan-2007 |
imp |
Per Regents of the University of Calfornia letter, remove advertising clause.
# If I've done so improperly on a file, please let me know.
|
165842 |
06-Jan-2007 |
das |
Handle inf/nan correctly.
|
165747 |
03-Jan-2007 |
das |
The distinction between quiet and signaling NaN formats is machine-dependent; these files tell the latest version of gdtoa what to do.
|
164053 |
06-Nov-2006 |
cognet |
Instead of re-implementing hton[ls] and friends for each arch, add a new MI file, net/ntoh.c, which just implement them using the inline functions from <sys/endian.h>.
Suggested by: bde
|
163325 |
13-Oct-2006 |
ru |
Forgot to bump the document date.
|
163324 |
13-Oct-2006 |
ru |
Some word smithing adopted from the PR.
PR: docs/54451 Originally by: Andreas Fuchs Adopted by: jhb MFC after: 3 days
|
162385 |
17-Sep-2006 |
ru |
Markup fixes.
|
162039 |
05-Sep-2006 |
ru |
GC dead code. If we want to stay polite to the foreign compilers, we can find another way to issue an #error, but using a preprocessed assembler for that purpose and clobbering libc.a with an empty .o just for the sake of #error reporting is way too much of a burden.
|
159270 |
05-Jun-2006 |
kib |
Replace absolute addressing in the call instructions with position-independend calls. This eliminates TEXTREL from libc, making its text segment relocatable.
PR: i386/85242 Approved by: kan (mentor) MFC after: 1 month
|
158268 |
03-May-2006 |
bsd |
A few minor wording changes and a clarification about error conditions.
|
156613 |
13-Mar-2006 |
deischen |
Add each directory's symbol map file to SYM_MAPS.
|
156608 |
13-Mar-2006 |
deischen |
Add symbol maps and initial symbol version definitions to libc.
Reviewed by: davidxu
|
150065 |
12-Sep-2005 |
stefanf |
Include a couple of headers to ensure consistency between the prototype and the function definition.
|
147673 |
29-Jun-2005 |
peter |
Clean out the leftovers from the i386_set_gsbase() TLS conversion.
Like on libthr, there is an i386_set_gsbase() stub implementation here to avoid libc.so.5 issues. This should likely be a weak symbol and I expect this will be fixed soon.
Approved by: re
|
145573 |
26-Apr-2005 |
peter |
Provide stub functions for i386_set_ldt() and i386_get_ldt() even when compiling as an amd64 support binary. They will return EINVAL on an amd64 kernel, but this simplifies other #ifdefs that were getting a bit nasty.
|
145571 |
26-Apr-2005 |
peter |
No longer use _amd64_set_gsbase(). Use i386_set_gsbase() even when building for amd64.
|
145383 |
21-Apr-2005 |
alc |
Eliminate an unpredictable branch from bcmp().
Reviewed by: bde
|
145037 |
14-Apr-2005 |
peter |
Attempt i386_set_gsbase() before using the user_ldt code. Unimplemented sysarch() calls return EINVAL, not SIGSYS.. so we can trivially adapt.
|
145036 |
14-Apr-2005 |
peter |
Add stubs for the %fs/%gs base management calls.
|
144731 |
07-Apr-2005 |
peter |
Fix strict-alias warnings by removing excessive (and wrong) casts.
|
143214 |
07-Mar-2005 |
das |
Define LDBL_NBIT to be a mask indicating the position of the integer bit in a long double. For architectures that don't have such a bit, LDBL_NBIT is 0. This makes it possible to say `mantissa & ~LDBL_NBIT' in places that previously used an #ifdef to select the right expression. The optimizer should dispense with the extra arithmetic when LDBL_NBIT is 0.
|
141379 |
06-Feb-2005 |
das |
Update my email address.
|
140279 |
15-Jan-2005 |
das |
Eliminate gdtoa.mk and move its contents to ${MACHINE_ARCH}/Makefile.inc. The purpose of having a separate file involved an abandoned scheme that would have kept contrib/gdtoa out of the include path for the rest of libc.
|
138403 |
05-Dec-2004 |
deischen |
Make sure the first argument to the user function is 16-byte aligned.
Submitted by: tegge
|
137788 |
16-Nov-2004 |
jhb |
Remove 80386 support from libc.
|
137290 |
06-Nov-2004 |
peter |
When building the custom i386 libraries for use on amd64 kernels, we can't use the i386_set_ldt() family of routines, because they are not implemented. Instead, use the recently exposed direct access sysarch routines for setting what %fs and %gs point to.
Use this for the i386 TLS _set_tp() routine, but only when compiling to run as a 32 bit support binary for amd64 kernels.
|
136669 |
18-Oct-2004 |
obrien |
Sync with sys/i386/include/endian.h: use the single instruction 'bswap'.
|
133754 |
15-Aug-2004 |
dfr |
Add support for TLS in statically linked programs.
|
132383 |
19-Jul-2004 |
das |
Make FLT_ROUNDS correctly reflect the dynamic rounding mode.
|
132366 |
18-Jul-2004 |
das |
Replace seven nominally MD implementations of frexp() that are broken for subnormals with one implementation that works.
|
131852 |
09-Jul-2004 |
das |
Implement the classification macros isfinite(), isinf(), isnan(), and isnormal() the hard way, rather than relying on fpclassify(). This is a lose in the sense that we need a total of 12 functions, but it is necessary for binary compatibility because we have never bumped libm's major version number. In particular, isinf(), isnan(), and isnanf() were BSD libc functions before they were C99 macros, so we can't reimplement them in terms of fpclassify() without adding a dependency on libc.so.5. I have tried to arrange things so that programs that could be compiled in FreeBSD 4.X will generate the same external references when compiled in 5.X. At the same time, the new macros should remain C99-compliant.
The isinf() and isnan() functions remain in libc for historical reasons; however, I have moved the functions that implement the macros isfinite() and isnormal() to libm where they belong. Moreover, half a dozen MD versions of isinf() and isnan() have been replaced with MI versions that work equally well.
Prodded by: kris
|
131504 |
02-Jul-2004 |
ru |
Mechanically kill hard sentence breaks.
|
131501 |
02-Jul-2004 |
davidxu |
Follow previous change in makecontext. Use %esi to store next ucp pointer, here we keep orignal %ebp, so we can see where signal handler comes in and interrupt normal code.
|
131472 |
02-Jul-2004 |
ru |
Removed trailing whitespace.
|
131460 |
02-Jul-2004 |
davidxu |
Use %esi to store next ucp pointer. Mark end of stack by setting %ebp to zero, this avoids new gdb to dump a weird backtrace.
|
125867 |
16-Feb-2004 |
das |
Remove the code and an associated comment for gcc 1.x compatibility and fix a typo in the !__GNUC__ case.
|
125865 |
16-Feb-2004 |
das |
Fix some aliasing problems.
|
125668 |
10-Feb-2004 |
cperciva |
style cleanup: Remove duplicate $FreeBSD$ tags.
These files had tags after the copyright notice, inside the comment block (incorrect, removed), and outside the comment block (correct).
Approved by: rwatson (mentor)
|
124653 |
18-Jan-2004 |
das |
Define LDBL_MANH_SIZE and LDBL_MANL_SIZE to be the sizes of the high and low words of the mantissa in bits, respectively.
|
124296 |
09-Jan-2004 |
nectar |
Provide sysarch(2) prototypes in the MD sysarch.h headers. While I'm at it, use the ANSI C generic pointer type for the second argument, thus matching the documentation.
Remove the now extraneous (and now conflicting) function declarations in various libc sources. Remove now unnecessary casts.
Reviewed by: bde
|
119893 |
08-Sep-2003 |
ru |
mdoc(7): Use the new feature of the .In macro.
|
119724 |
04-Sep-2003 |
peter |
Make getcontext(2) work on i386. It needs a small wrapper in libc otherwise the return from the syscall stub for getcontext will pop off the return value for the caller to the getcontext stub and it will appear as though the setcontext() syscall returned instead of the getcontext(). The same bug exists on amd64, a fix is coming there too.
The bug can be demonstrated with this test code fragment: main() { ucontext_t top;
if (getcontext(&top) == 0) { write(2, "PING!\n", 6); /* Cause a return value of 1 from getcontext this time */ top.uc_mcontext.mc_eax = 1; setcontext(&top); err(1, "setcontext() returned"); } write(2, "PONG!\n", 6); _exit(0); }
|
118771 |
11-Aug-2003 |
bms |
Add the mlockall() and munlockall() system calls. - All those diffs to syscalls.master for each architecture *are* necessary. This needed clarification; the stub code generation for mlockall() was disabled, which would prevent applications from linking to this API (suggested by mux) - Giant has been quoshed. It is no longer held by the code, as the required locking has been pushed down within vm_map.c. - Callers must specify VM_MAP_WIRE_HOLESOK or VM_MAP_WIRE_NOHOLES to express their intention explicitly. - Inspected at the vmstat, top and vm pager sysctl stats level. Paging-in activity is occurring correctly, using a test harness. - The RES size for a process may appear to be greater than its SIZE. This is believed to be due to mappings of the same shared library page being wired twice. Further exploration is needed. - Believed to back out of allocations and locks correctly (tested with WITNESS, MUTEX_PROFILING, INVARIANTS and DIAGNOSTIC).
PR: kern/43426, standards/54223 Reviewed by: jake, alc Approved by: jake (mentor) MFC after: 2 weeks
|
118440 |
04-Aug-2003 |
julian |
Allow foot shooting as Linux emulation needs it. Also change "Auto mode" to use a "special" value instead of 0, and define and document it. I had thought libpthread had already been switched to use auto mode but it appears that patch hasn't been committed yet.
Discussed with: Davidxu
|
118243 |
31-Jul-2003 |
davidxu |
Update manual for i386_set_ldt to reflect newly added features.
Submitted by: julian
|
116833 |
25-Jun-2003 |
obrien |
Push the alloca #error warning farther down to play nicer with some out of tree local translator.
Requested by: jmallett
|
116327 |
14-Jun-2003 |
obrien |
Only use this with a non-GCC compiler.
|
116091 |
09-Jun-2003 |
jhb |
Remove stale reference to the deprecated USER_LDT option. The associated code is always compiled into the kernel now.
Submitted by: Hubert Tournier <hubert@frbsd.org> PR: docs/53068
|
115665 |
02-Jun-2003 |
obrien |
Use C99 compatible ASM statements.
|
115225 |
22-May-2003 |
ru |
Assorted mdoc(7) fixes.
Approved by: re (blanket)
|
115143 |
18-May-2003 |
ru |
Fixed troff(1) and mdoc(7) warnings.
Approved by: re (blanket)
|
114839 |
08-May-2003 |
das |
Add a comment describing why it's important for the values in this file to be correct, and how to generate them automatically.
Caused much pain and suffering for: peter
|
114804 |
07-May-2003 |
jhb |
Properly cleanup the stack before jumping to cerror() if rfork(2) fails.
Submitted by: Igor Sysoev <is@rambler-co.ru> Approved by: re (scottl)
|
114203 |
29-Apr-2003 |
mdodd |
Document VM86_INTCALL.
Submitted by: Bruce M Simpson
|
113145 |
05-Apr-2003 |
das |
Add __ldtoa(), a wrapper around gdtoa() to make it look like dtoa(). In support of this, add some MD macros to assist in converting long doubles to the format expected by gdtoa().
Reviewed by: silence on standards@
|
113103 |
05-Apr-2003 |
tjr |
MFp4: Pentium/Athlon-optimised implementation of wcschr().
|
112807 |
29-Mar-2003 |
deischen |
Align signal frame placed on stack to 16 bytes so that SSE FPU register restores can work. Also correct allocation for signal frame size.
Reviewed by: mini
|
112232 |
14-Mar-2003 |
tjr |
MFp4: Pentium/Athlon-optimised implementation of wcslen().
|
112163 |
12-Mar-2003 |
das |
Replace our ancient dtoa/strtod implementation with the gdtoa package, a more recent, generalized set of routines. Among the changes: - Declare strtof() and strtold() in stdlib.h. - Add glue to libc to support these routines for all kinds of ``long double''. - Update printf() to reflect the fact that dtoa works slightly differently now.
As soon as I see that nothing has blown up, I will kill src/lib/libc/stdlib/strtod.c. Soon printf() will be able to use the new routines to output long doubles without loss of precision, but numerous bugs in the existing code must be addressed first.
Reviewed by: bde (briefly), mike (mentor), obrien
|
112132 |
12-Mar-2003 |
tjr |
MFp4: Reduce code size by 26 bytes by only aligning the jump targets that are at the top of loops.
|
112129 |
12-Mar-2003 |
tjr |
MFp4: Pentium/Athlon-optimised implementation of wmemchr().
|
112059 |
10-Mar-2003 |
tjr |
MFp4: Pentium-optimised implementation of wcscmp(). Performs significantly better than the code generated by gcc in many cases.
|
111080 |
18-Feb-2003 |
deischen |
Remove these from libc; they are now system calls.
Prompted by: mini
|
111029 |
17-Feb-2003 |
mini |
Call the weak symbol for sigprocmask, so that it can be overridden.
|
111010 |
16-Feb-2003 |
nectar |
Eliminate 61 warnings emitted at WARNS=2 (leaving 53 to go). Only warnings that could be fixed without changing the generated object code and without restructuring the source code have been handled.
Reviewed by: /sbin/md5
|
110769 |
12-Feb-2003 |
mike |
o Implement C99 classification macros isfinite(), isinf(), isnan(), isnormal(). The current isinf() and isnan() are perserved for binary compatibility with 5.0, but new programs will use the macros. o Implement C99 comparison macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered().
Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU>
|
110566 |
08-Feb-2003 |
mike |
Implement fpclassify(): o Add a MD header private to libc called _fpmath.h; this header contains bitfield layouts of MD floating-point types. o Add a MI header private to libc called fpmath.h; this header contains bitfield layouts of MI floating-point types. o Add private libc variables to lib/libc/$arch/gen/infinity.c for storing NaN values. o Add __double_t and __float_t to <machine/_types.h>, and provide double_t and float_t typedefs in <math.h>. o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF, HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to <math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via <machine/float.h>. o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based on the size of its argument. __fpclassifyl() is never called on alpha because (sizeof(long double) == sizeof(double)), which is good since __fpclassifyl() can't deal with such a small `long double'.
This was developed by David Schultz and myself with input from bde and fenner.
PR: 23103 Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> (significant portions) Reviewed by: bde, fenner (earlier versions)
|
108533 |
01-Jan-2003 |
schweikh |
Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, especially in troff files.
|
108317 |
27-Dec-2002 |
schweikh |
english(4) police.
|
108176 |
22-Dec-2002 |
kan |
Back out the -fpcc-struct-return fixes.
Approved by: re (rwatson)
|
108151 |
21-Dec-2002 |
tjr |
Import newer versions of div() and ldiv() from NetBSD which handle the -fpcc-struct-return calling convention properly instead of returning garbage. This may break backwards compatibility with some old binaries that were compiled when -fno-pcc-struct-return was the default.
|
108087 |
19-Dec-2002 |
ru |
mdoc(7) police: "The .Fa argument.".
|
108040 |
18-Dec-2002 |
ru |
mdoc(7) police: Fixed abuses of the .Ar and .Em macros.
|
108037 |
18-Dec-2002 |
ru |
mdoc(7) police: "The .Fn function".
|
108035 |
18-Dec-2002 |
ru |
mdoc(7) police: "The .Fn system call".
|
107052 |
18-Nov-2002 |
ru |
libc_r wasn't so tied to libc for 22 months.
|
106980 |
16-Nov-2002 |
deischen |
Disconnect the userland get/set/swapcontext() functions from libc. I want to keep these in some version for the thread library/ies, but don't know whether to have them repo-copied to libc_r or renamed and kept in libc.
Change the name of an alpha macro that was changed with the system call commit.
|
106268 |
31-Oct-2002 |
archie |
Re-apply the previously backed-out commit that fixes the problem where HUGE_VAL is not properly aligned on some architectures. The previous fix now works because the two versions of 'math.h' (include/math.h and lib/msun/src/math.h) have since been merged into one.
PR: bin/43544
|
105604 |
21-Oct-2002 |
sam |
track gratuitous change to sys/i386/include/reg.h
|
105149 |
15-Oct-2002 |
sobomax |
Eliminate superfluous memory access in memcpy(3)/memmove(3).
Obtained from: NetBSD MFC after: 1 week
|
103769 |
21-Sep-2002 |
mini |
Style cleanup: - Sort local variable declarations. - Protect a hand-formatted comment from indent(1). - Use portable casts, even though this is machine-dependant code. - Remove extraneous blank lines. - Remove trailing newline. - Use sigdelset(3), not SIGDELSET(9).
Requested by: bde
|
103686 |
20-Sep-2002 |
archie |
Revert previous commit to unbreak world until we figure out the right way to do it.
|
103653 |
19-Sep-2002 |
archie |
Fix a problem with the definition of HUGE_VAL causing the gcc warning "cast increases required alignment of target type" on some platforms.
Reviewed by: bde
|
103501 |
17-Sep-2002 |
bde |
Fixed editing error in previous commit (*blush*).
|
103488 |
17-Sep-2002 |
bde |
Fixed unsorting of SRCS.
|
103443 |
17-Sep-2002 |
mini |
Use a weak symbol for signalcontext().
|
103442 |
17-Sep-2002 |
mini |
Add signalcontext(), which adds a signal frame to a ucontext_t.
|
103436 |
17-Sep-2002 |
peter |
Initiate deorbit burn for the i386-only a.out related support. Moves are under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that.
Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now.
Tested on: i386 (extensively), alpha
|
103406 |
16-Sep-2002 |
mini |
Save and restore FPU state properly in ucontext_t's.
Reviewed by: deischen, julian Approved by: -arch
|
101915 |
15-Aug-2002 |
robert |
Include <stdlib.h> to have abort() and exit() declared.
|
101536 |
08-Aug-2002 |
kan |
Use '_end' symbol instead of 'end' to initialize minbrk and curbrk variables. Both symbols are set to the same value by the linker, and _end symbol has less chances to clash with application defined global symbols.
alpha, ia64 and sparc64 ports already use _end, i386 is now consistent with them.
Reviewed by: bde Approved by: obrien Reported by: pirzyk
|
98910 |
27-Jun-2002 |
silby |
Fix style bugs I added in last commit.
Spotted by: bde
|
98899 |
27-Jun-2002 |
silby |
Modify bcopy (and memcpy/memmove) so that the length value is not re-read from the stack mid copy. This may help mitigate the recent Apache buffer overrun and future overruns of the sort.
Reviewed by: jdp MFC after: 2 days
|
97748 |
02-Jun-2002 |
schweikh |
Fix typo in the BSD copyright: s/withough/without/
Spotted and suggested by: des MFC after: 3 weeks
|
97191 |
23-May-2002 |
jake |
Generate the normal asm stubs for all sysv system calls. Use these instead of C wrappers for the *sys indirect system calls. The indirect system calls are horribly broken on sparc64.
Submitted by: tmm
|
93000 |
23-Mar-2002 |
obrien |
Standardize on our SCM ID style.
|
92999 |
23-Mar-2002 |
obrien |
Restore CSRG ID's lost in January 1995.
|
92991 |
22-Mar-2002 |
obrien |
Fix the style of the SCM ID's. I believe have made all of libc .h's as consistent as possible.
|
92986 |
22-Mar-2002 |
obrien |
Fix the style of the SCM ID's. I believe have made all of libc .c's as consistent as possible.
|
92862 |
21-Mar-2002 |
peter |
Move swapcontext.c to the ${MACHINE_ARCH}/gen/Makefile.inc area, otherwise it causes undefined references to getcontext() and setcontext() on platforms other than i386 and alpha.
|
91999 |
10-Mar-2002 |
billf |
cosmetic: spell 'cashe' as 'cache'
|
90868 |
18-Feb-2002 |
mike |
o Move NTOHL() and associated macros into <sys/param.h>. These are deprecated in favor of the POSIX-defined lowercase variants. o Change all occurrences of NTOHL() and associated marcros in the source tree to use the lowercase function variants. o Add missing license bits to sparc64's <machine/endian.h>. Approved by: jake o Clean up <machine/endian.h> files. o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>. o Remove prototypes for non-existent bswapXX() functions. o Include <machine/endian.h> in <arpa/inet.h> to define the POSIX-required ntohl() family of functions. o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>, and <sys/param.h>. o Prepend underscores to the ntohl() family to help deal with complexities associated with having MD (asm and inline) versions, and having to prevent exposure of these functions in other headers that happen to make use of endian-specific defines. o Create weak aliases to the canonical function name to help deal with third-party software forgetting to include an appropriate header. o Remove some now unneeded pollution from <sys/types.h>. o Add missing <arpa/inet.h> includes in userland.
Tested on: alpha, i386 Reviewed by: bde, jake, tmm
|
89267 |
11-Jan-2002 |
bde |
Fixed unsorting and splitting of SRCS in previous commit.
|
89177 |
10-Jan-2002 |
deischen |
Add getcontext, setcontext, makecontext, and swapcontext. These functions are defined in SUSv2 and the latest POSIX spec.
Thanks to Bernd Walter <ticso@cicely8.cicely.de> for helping debug my alpha assembly.
Approved by: -arch
|
87006 |
27-Nov-2001 |
jhb |
Use 'mov' instead of 'lea' for setting the syscall number in %eax as that is clearer about what we are actually doing.
Requested by: bde
|
86325 |
13-Nov-2001 |
jhb |
Cleanups after previous change: - Renumber labels since the previous revision removed one. - Remove useless and wrong comment. - Repeating the function name is just redundant. - The previous revision made the comment about %edx useless. - The comment about %eax was wrong (but did explain why %eax used to be fixed up).
Submitted by: bde
|
86314 |
13-Nov-2001 |
jhb |
The kernel already fixes up %eax for parents that return from fork, so don't bother manually fixing up %eax for the parent process by testing the value in %edx and zeroing and already zeroed %eax.
|
85437 |
24-Oct-2001 |
peter |
De-orbit DEFS.h - the other arches do not use it, and it got replaced with <machine/asm.h>.
Reviewed by: bde
|
85160 |
19-Oct-2001 |
ru |
Just use RSYSCALL.
|
84306 |
01-Oct-2001 |
ru |
mdoc(7) police: Use the new .In macro for #include statements.
|
82642 |
31-Aug-2001 |
ru |
Use ``.Rv -std'' wherever possible.
Submitted by: yar
|
81586 |
13-Aug-2001 |
ru |
Removed duplicate VCS ID tags, as per style(9).
|
81565 |
12-Aug-2001 |
iedowse |
Cross-reference io(4).
|
81462 |
10-Aug-2001 |
ru |
mdoc(7) police: join split punctuation to macro calls.
|
81352 |
09-Aug-2001 |
yar |
Use the ``.Rv -std'' mdoc(7) macro in appropriate cases.
Reviewed by: ru
|
79754 |
15-Jul-2001 |
dd |
Remove whitespace at EOL.
|
79531 |
10-Jul-2001 |
ru |
mdoc(7) police: removed HISTORY info from the .Os call.
|
74870 |
27-Mar-2001 |
ru |
MAN[1-9] -> MAN.
|
71770 |
29-Jan-2001 |
deischen |
Clean up syscall generation in libc by removing HIDDEN_SYSCALLS and treating (almost) all system calls the same way:
__sys_foo - actual syscall foo, _foo - weak definitions to __sys_foo
Change PSEUDO syscalls (currently only _exit and _getlogin) to be __sys_foo (T) and _foo (W).
Add $FreeBSD$ to a few files to satisfy commitprep.
Suggested by: bde
|
71663 |
26-Jan-2001 |
deischen |
Comment only change; s/_thread_sys_/__sys_/
|
71579 |
24-Jan-2001 |
deischen |
Remove _THREAD_SAFE and make libc thread-safe by default by adding (weak definitions to) stubs for some of the pthread functions. If the threads library is linked in, the real pthread functions will pulled in.
Use the following convention for system calls wrapped by the threads library: __sys_foo - actual system call _foo - weak definition to __sys_foo foo - weak definition to __sys_foo
Change all libc uses of system calls wrapped by the threads library from foo to _foo. In order to define the prototypes for _foo(), we introduce namespace.h and un-namespace.h (suggested by bde). All files that need to reference these system calls, should include namespace.h before any standard includes, then include un-namespace.h after the standard includes and before any local includes. <db.h> is an exception and shouldn't be included in between namespace.h and un-namespace.h namespace.h will define foo to _foo, and un-namespace.h will undefine foo.
Try to eliminate some of the recursive calls to MT-safe functions in libc/stdio in preparation for adding a mutex to FILE. We have recursive mutexes, but would like to avoid using them if possible.
Remove uneeded includes of <errno.h> from a few files.
Add $FreeBSD$ to a few files in order to pass commitprep.
Approved by: -arch
|
70481 |
29-Dec-2000 |
ru |
Prepare for mdoc(7)NG.
|
69515 |
02-Dec-2000 |
jake |
Remove last vestiges of thr_sleep and thr_wakeup from libc.
|
69332 |
28-Nov-2000 |
jhb |
Prefix the register argument of indirect 'jmp's with a * to make gas 2.10.x happy.
|
68854 |
17-Nov-2000 |
ru |
mdoc(7) police: use certified section headers wherever possible.
|
66174 |
21-Sep-2000 |
bsd |
Add a couple of debug register helper functions to assist in setting and clearing watchpoints.
Reviewed by: jwd@FreeBSD.org, -hackers@
|
64003 |
29-Jul-2000 |
peter |
Fix some rather interesting bugs that managed to not turn up in various testing and real-life applications: 1) If you returned from the thread function, you got a segv instead of calling _exit() with your return code. 2) clean up some bogus stack management. There was also an underflow on function return. 3) when making syscalls, the kernel is expecting to have to leave space for the function's return address. We need to duplicate this. It was an accident that the rfork syscall actually worked here. :-/
|
64000 |
29-Jul-2000 |
peter |
rfork(2) wrapper for simple rfork-style threads. I have lost count of the number of times I have given this to people and got asked: why isn't it in libc? It is impossible to do this without assembler glue to reset the stack for the new child process.
int rfork_thread(flags, stack_addr, start_fnc, start_arg) int flags; Flags to rfork system call. See rfork(2). void *stack_addr; Top of stack for thread. int (*start_fnc)(void *); Address of thread function to call in child. void *start_arg; Argument to pass to the thread function in child.
This is deliberately not documented or prototyped in includes until the corresponding alpha version is written.
|
61664 |
14-Jun-2000 |
alex |
You need options USER_LDT in your kernel to use these functions.
PR: 18943 Submitted by: Ben Smithurst <ben@scientia.demon.co.uk> Reviewed by: asmodai
|
60078 |
06-May-2000 |
phantom |
Use `Er' variable to define first column width in ERRORS section.
|
59933 |
04-May-2000 |
jasone |
Use assembler directives rather than ALTENTRY() so that longjmp() and siglongjmp() are weak symbols. This is necessary to allow static linking with the linuxthreads library port.
|
59460 |
21-Apr-2000 |
phantom |
Introduce ".Lb" macro to libc manpages.
More libraries manpages updates following.
|
58126 |
16-Mar-2000 |
jasone |
Take care to avoid having "strong" and "weak" symbols of the same name in libc_r.
|
56809 |
29-Jan-2000 |
jasone |
Undo the ill-conceived breakage of the previous commit and really fix:
For libc_r renamed syscalls, correct symbol naming from _thread_sys_foo() <-- _foo() to _thread_sys_foo() <-- _foo() <-- foo(). This is necessary for system calls which libc_r doesn't define foo().
Some weak symbols such as poll() are defined twice. From what I understand, depending on one weak symbol or the other to be used is a bad idea. All such weak symbols defined in the libc_r-specific code should therefore be made strong (non-weak?).
Simplify PSEUDO() to not define any weak symbols, since they aren't ever needed.
alpha/SYS.h:
Correct reversed usage of WEAK_ALIAS(), which has reversed arguments from __weak_reference(). Also, fix reversal of symbols, so that syscall foo() is a weak alias for _foo().
Add WEAK_ALIAS() call to PRSYSCALL(), which unlike the i386 version of PRSYSCALL(), is not defined in terms of PSYSCALL().
Make PSEUDO() equivalent to the i386 version.
|
56773 |
28-Jan-2000 |
jasone |
For syscalls that are renamed to _thread_sys_foo, create a weak alias called _foo, not _thread_sys_foo.
|
56698 |
27-Jan-2000 |
jasone |
Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(), just use _foo() <-- foo(). In the case of a libpthread that doesn't do call conversion (such as linuxthreads and our upcoming libpthread), this is adequate. In the case of libc_r, we still need three names, which are now _thread_sys_foo() <-- _foo() <-- foo().
Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(), nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo().
Remove all internal libc usage of: creat(), pause(), sleep(), system(), tcdrain(), wait(), and waitpid().
Make thread cancellation fully POSIX-compliant.
Suggested by: deischen
|
56345 |
20-Jan-2000 |
jasone |
Remove unnecessary alternate entry points for *setjmp(). Make the main entry point the standard name when not compiling libc_r (for example, longjmp is the main entry point instead of __longjmp).
Suggested by: bde
|
56309 |
20-Jan-2000 |
jasone |
Move ENTRY and ALTENTRY definitions to asm.h where they belong.
Unbreak profiling. Again.
Submitted by: bde
|
56276 |
19-Jan-2000 |
jasone |
Make minor entry point changes to support libc_r.
|
55837 |
12-Jan-2000 |
jasone |
Add three-tier symbol naming in support of POSIX thread cancellation points. For library functions, the pattern is __sleep() <-- _libc_sleep() <-- sleep(). The arrows represent weak aliases. For system calls, the pattern is _read() <-- _libc_read() <-- read().
|
55375 |
04-Jan-2000 |
jasone |
Unbreak profiling. bde says this is not the cleanest way to fix the problem, but that it works.
Submitted by: bde
|
55068 |
24-Dec-1999 |
jasone |
Creating weak symbols doesn't work correctly when building an aout libc. Doing the "right thing" here is difficult, so create two ENTRY points for each function (for example, __setjmp and setjmp are equivalent). This isn't pretty, but it works for both aout and ELF.
libc symbol naming needs an overhaul in order to properly support function wrapping, specifically in the case of a real libpthread, and these duplicate entry points should be fixed as part of that overhaul.
Pointed out by: bde
|
54607 |
14-Dec-1999 |
jasone |
Make setjmp, longjmp, sigsetjmp, and siglongjmp weak aliases for __setjmp, __longjmp, __sigsetjmp, and __siglongjmp, respectively. This supports cancellation in the linuxthreads port. In the long run, a much more comprehensive solution will necessitate more dramatic changes to libc symbol naming, and these aliases will probably need modification at that time.
|
52232 |
14-Oct-1999 |
marcel |
Remove osig* from NOASM. It bogus now.
|
52083 |
10-Oct-1999 |
marcel |
\begin{quote} setjmp() gets the jmp_buf pointer from the wrong place (the place where the return address is) in the shlib case, and uses it (only) to fetch the current signal mask to address (return_address + 28). This address is normally read-only (I hope), so the sigprocmask() call has no effect except to return an error code. \end{quote}
Submitted by: bde
|
52062 |
09-Oct-1999 |
marcel |
Remove syscall wrappers.
|
51794 |
29-Sep-1999 |
marcel |
sigset_t change (part 5 of 5) -----------------------------
Most of the userland changes are in libc. For both the alpha and the i386 setjmp has been changed to accomodate for the new sigset_t. Internally, libc is mostly rewritten to use the new syscalls. The exception is in compat-43/sigcompat.c
The POSIX thread library has also been rewritten to use the new sigset_t. Except, that it currently only handles NSIG signals instead of the maximum _SIG_MAXSIG. This should not be a problem because current applications don't use any signals higher than NSIG.
There are version bumps for the following libraries: libdialog libreadline libc libc_r libedit libftpio libss
These libraries either a) have one of the modified structures visible in the interface, or b) use sigset_t internally and may cause breakage if new binaries are used against libraries that don't have the sigset_t change. This not an immediate issue, but will be as soon as applications start using the new range to its fullest.
NOTE: libncurses already had an version bump and has not been given one now.
NOTE: doscmd is a real casualty and has been disconnected for the moment. Reconnection will eventually happen after doscmd has been fixed. I'm aware that being the last one to touch it, I'm automaticly promoted to being maintainer. According to good taste this means that I will receive a badge which either will be glued or mechanically stapled, drilled or otherwise violently forced onto me :-)
NOTE: pcvt/vttest cannot be compiled with -traditional. The change cause sys/types to be included along the way which contains the const and volatile modifiers. I don't consider this a solution, but more a workaround.
|
50817 |
02-Sep-1999 |
luoqi |
Use definitions provided in sysarch.h for args structures.
Reviewed by: marcel
|
50476 |
28-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
45313 |
04-Apr-1999 |
dt |
Add wrappers for pread and pwrite syscalls.
|
44761 |
15-Mar-1999 |
alex |
EACESS -> EACCES
|
41931 |
19-Dec-1998 |
julian |
Reviewed by: Luoqi Chen, Jordan Hubbard Submitted by: "Richard Seaman, Jr." <lists@tar.com> Obtained from: linux :-)
Code to allow Linux Threads to run under FreeBSD.
By default not enabled This code is dependent on the conditional COMPAT_LINUX_THREADS (suggested by Garret) This is not yet a 'real' option but will be within some number of hours.
|
39455 |
18-Sep-1998 |
luoqi |
Simplify implementation and eliminate a register preservation problem.
Reviewed by: Bruce Evans <bde@zeta.org.au>
|
39140 |
13-Sep-1998 |
luoqi |
Fix a cut 'n paste mistake.
|
39118 |
12-Sep-1998 |
dt |
In libc_r, rename vfork syscall to _thread_sys_vfork and make vfork an alias to fork. It is difficult to do real vfork in libc_r, since almost every operation with file descriptsor changes _thread_fd_table and friends.
popen(3) works much better with this change.
|
38055 |
03-Aug-1998 |
bde |
Fixed missing header in synopsis.
|
37946 |
29-Jul-1998 |
bde |
Fixed disordering in previous commit.
|
37917 |
28-Jul-1998 |
jlemon |
u_int --> unsigned int, remove (now unneeded) <sys/types.h>
|
37904 |
28-Jul-1998 |
jlemon |
oops, forgot to do ``cvs add'' first.
|
37903 |
28-Jul-1998 |
jlemon |
Add wrappers for i386_*_ioperm, i386_vm86 so userland code does not have to call sysarch() directly. Added man pages for above, as well as sysarch()
|
36649 |
04-Jun-1998 |
steve |
Fix a bunch of spelling errors.
PR: 6856 Submitted by: Josh Gilliam <josh@quick.net>
|
35762 |
05-May-1998 |
jb |
Use the thread-aware errno definition all the time.
|
35761 |
05-May-1998 |
jb |
Build the syscalls (in libc, not libc_r) with weak symbols so that libpthread can override them as required.
|
35544 |
30-Apr-1998 |
jb |
Oops, backout the previous change having confused my underscores. __thread_create is a syscall that uses the default asm. It is _thread_create that contains specific asm code, but that lives in libpthread.
|
35541 |
30-Apr-1998 |
jb |
Make cerror thread aware by calling __error() to get a pointer to the thread-specific error variable. This change make libc use the same cerror code that libc_r has been using.
|
35540 |
30-Apr-1998 |
jb |
The syscall that creates a kernel thread is coming, but it doesn't use the default syscall asm, so add it to NOASM. The other syscalls that manipulate kernel threads use the default asm code, so they just get built automatically.
|
35504 |
29-Apr-1998 |
jb |
Stop renaming these in libc_r because wrappered versions don't make sense. PR: i386/4826, bin/5953
|
34388 |
09-Mar-1998 |
jb |
Nearly missed this one.
List non-default asm sources in MDASM so that they replace the defaults.
For funny or incomplete syscalls, list them in NOASM to stop them from getting built as defaults.
|
30552 |
18-Oct-1997 |
bde |
Removed unused file. It just forces a return value of 0 on success (no carry), but mount() in the kernel has returned 0 on success since prehistoric times.
|
30484 |
16-Oct-1997 |
bde |
Handle machine-dependent (stdlib) sources more automatically.
This fixes bugs in the manual handling. abs.[cS] was handled too specially and the wrong (.c) variant for each of div.[cS], labs.[cS] and ldiv.[cS] was added to SRCS. This caused the .c variant to be used if `depend' was made and the .S version to be used otherwise.
|
30483 |
16-Oct-1997 |
bde |
Removed bogus .PATH statement.
|
30482 |
16-Oct-1997 |
bde |
Removed the subdirectory paths from the definitions of MAN[1-9]. They were a workaround for limitations in bsd.man.mk that were fixed about 2 years ago.
|
30481 |
16-Oct-1997 |
bde |
Handle machine-dependent (m-d) (string) sources more automatically. The names of m-d variants are now added (manually) to MDSRCS instead of to SRCS, and the names of all machine-independent (m-i) variants that can reasonably be replaced by an m-d variant are now added (manually) to MISRCS instead of to SRCS, so that a simple substitution can be used to discard the unused m-i variants. MISRCS is potentially all m-i sources, but the substitution is too simple to be fast, so MISRCS should be kept reasonably small.
libc/Makefile.inc: Do the substitution.
libc/i386/string/Makefile.inc: Add to MDSRCS instead of to SRCS. Add the names of all sources in this directory, but no others.
libc/string/Makefile.inc Add to MISRCS instead of to SRCS. Add the names of all sources in this directory. Don't use (broken) explicit rules for special cases.
|
30401 |
14-Oct-1997 |
bde |
Moved `SRCS+= frexp.c' to the correct Makefile.inc.
Sorted SRCS.
|
27369 |
13-Jul-1997 |
peter |
kill the undead
|
27181 |
03-Jul-1997 |
bde |
This commit was generated by cvs2svn to compensate for changes in r27180, which included commits to RCS files with non-trunk default branches.
|
25401 |
03-May-1997 |
jb |
Changed all paths to be relative to src/lib instead of src/lib/libc so that all these makefiles can be used to build libc_r too.
Added .if ${LIB} == "c" tests to restrict man page builds to libc to avoid needlessly building them with libc_r too.
Split libc Makefile into Makefile and Makefile.inc to allow the libc_r Makefile to include Makefile.inc too.
|
25045 |
20-Apr-1997 |
bde |
Use separate routines for memmove() and memcpy(). This lets me drop the (buggy) support for alternative entry points. ALTENTRY() was only used for memmove(). Optimizing for space was particularly silly because memcpy() is rarely used (gcc normally inlines it). Obtained from: NetBSD
|
25044 |
20-Apr-1997 |
bde |
Use separate routines for memmove() and memcpy(). This lets me drop the (buggy) support for alternative entry points. ALTENTRY() was only used for memmove(). Optimizing for space was particularly silly because memcpy() is rarely used (gcc normally inlines it).
Obtained from: NetBSD
|
25043 |
20-Apr-1997 |
bde |
Merged with the 1996/11/12 NetBSD version: - use a slightly less bogus copyright. This file was never contributed to Berkeley. It still claims to be copright by the Regents. - use <machine/asm.h> instead of "DEFS.h". - use RCSID($Id$) instead of explicit assembly code and messy ifdefs. The rcsid won't be put into the object file until we make RCSID() non-null. NetBSD uses a LIBC_SCCS ifdef here. We used a LIBC_RCS instead, but I want RCSID() to be controlled directly by LIBC_RCS (actually by LIB_RCS). This is the only difference with the NetBSD version. - added ifdefs to support generation of memcpy() and memmove(). The other changes are "while I'm here" to get this. - improved style of the copy backwards case.
|
25029 |
19-Apr-1997 |
bde |
Fixed long lines.
Removed unused macros CALL() and ASMSTR.
Reviewed by: jdp
|
24966 |
15-Apr-1997 |
bde |
Second stage of moving this to in <machine/asm.h>: just include <machine/asm.h> here.
|
22993 |
22-Feb-1997 |
peter |
Revert $FreeBSD$ to $Id$
|
22715 |
14-Feb-1997 |
bde |
Moved definitions of PIC macros from SYS.h to DEFS.h so that SYS.h doesn't need to be included in files that have nothing to do with syscalls.
Added missing `.text' to START_ENTRY so that ENTRY() works when invoked in the data section.
|
21673 |
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
19294 |
31-Oct-1996 |
dyson |
Correct a "spelling" error in a comment.
|
17769 |
22-Aug-1996 |
julian |
Submitted by: john birell (jb@cimlogic.com.au) fixups for makefiles and for Thread-safe sycalls
|
17706 |
20-Aug-1996 |
julian |
Submitted by: John Birrell <cimaxp1!jb@werple.net.au>
Here are the diffs for libc_r to get it one step closer to P1003.1c These make most of the thread/mutex/condvar structures opaque to the user. There are three functions which have been renamed with _np suffixes because they are extensions to P1003.1c (I did them for JAVA, which needs to suspend/resume threads and also start threads suspended).
I've created a new header (pthread_np.h) for the non-POSIX stuff.
The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented doesn't work. I think its best to delete it. I don't think libc_r needs tags anyway, 'cause most of the source is in libc which does have tags.
also:
Here's the first batch of man pages for the thread functions. The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was inherited from /usr/src/lib/libc/Makefile that should only be done with libc.
also:
I should have sent this diff with the pthread(3) man page. It allows people to type
make -DWANT_LIBC_R world
to get libc_r built with the rest of the world. I put this in the pthread(3) man page. The default is still not to build libc_r.
also: The diff attached adds a pthread(3) man page to /usr/src/share/man/man3. The idea is that without libc_r installed, this man page will give people enough info to know that they have to build libc_r.
|
17141 |
12-Jul-1996 |
jkh |
General -Wall warning cleanup, part I. Submitted-By: Kent Vander Velden <graphix@iastate.edu>
|
16719 |
25-Jun-1996 |
bde |
Fixed comparisons so that preposterously large (>= 0x80000000) brk values aren't silently converted to minbrk. This stops malloc(INT_MAX) from dumping core. Small values are still silently converted. They should be an error. sbrk() doesn't do any range checking or conversions or overflow checking.
Moved PIC_EPILOGUE invocation to a more natural place where it obviously doesn't interfere with the comparison.
|
15731 |
11-May-1996 |
jdp |
Fix a bug caused by the collision of a local assembler label with another use of the same label in a recently-introduced PIC_PROLOGUE. This should solve the recent core dumps from pdksh.
|
15719 |
10-May-1996 |
peter |
Fix a bogon in the pic + threadsafe version of cerror, it was missing a PIC_EPILOGUE (leaving an extra long on the stack).
Submitted by: John Polstra <jdp@polstra.com>
|
15634 |
05-May-1996 |
peter |
Add support to enable libc to be compiled in ELF format. (#ifdef __ELF__) In a nutshell, this macroizes the local/global symbol scoping rules that are different in a.out and ELF. It also makes the i386 assembler stubs conform to i386 PIC calling conventions - the a.out ld.so didn't object, but the ELF one needs it as it implements PIC jumps via PLT's as well as calls. The a.out rtld only worked because it was accidently snooping the grandparent calling function's return address off the stack..
This also affects the libc_r code a little, because of cpp macro nesting.
|
14224 |
23-Feb-1996 |
peter |
rfork/minherit glue in libc man pages adapted from OpenBSD's versions.
|
14118 |
17-Feb-1996 |
peter |
Put in missing '_' in call to wrapper _thread_sys_sigsetmask() function.
|
13545 |
22-Jan-1996 |
julian |
Reviewed by: julian and (hsu?) Submitted by: John Birrel(L?)
changes for threadsafe operations
|
13123 |
30-Dec-1995 |
peter |
This commit was generated by cvs2svn to compensate for changes in r13122, which included commits to RCS files with non-trunk default branches.
|
13122 |
30-Dec-1995 |
peter |
recording cvs-1.6 file death
|
13064 |
27-Dec-1995 |
dg |
Be smarter about handling overlapped copies and only go backwards if it is really necessary. Going backwards on a P6 is much slower than forwards and it's a little slower on a P5. Also moved the count mask and 'std' down a few lines - it's a couple percent faster this way on a P5.
|
11221 |
05-Oct-1995 |
phk |
remove GCC support functions from libc. Should never have been here in the first place.
|
11183 |
04-Oct-1995 |
phk |
Calling sbrk(2) with zero argument doesn't need to generate a syscall.
Reviewed by: bde
|
8870 |
30-May-1995 |
rgrimes |
Remove trailing whitespace.
|
5790 |
23-Jan-1995 |
dg |
First round of changes to clean up the RCSID mess in libc:
1) Changed LIB_SCCS and SYSLIB_SCCS to LIB_RCS and SYSLIB_RCS. 2) Changed sccsid[] variables to rcsid[] 3) Moved all RCSID strings into .text 4) Converted all SCCSID's to RCS $Id$'s 5) Added missing $Id$'s after copyright.
|
5783 |
22-Jan-1995 |
dg |
(Very) minor improvement from NetBSD/J.T.Conklin.
|
5780 |
22-Jan-1995 |
dg |
Added leaner and meaner swab() function by J.T. Conklin.
|
5246 |
27-Dec-1994 |
bde |
fixunsdfsi.S: Embalm. Rewrite to do things much the same as gcc-2: use fistpq for speed and elegance, and mishandle overflow consistently. __fixunsdfsi() is no longer called by gcc.
|
5245 |
27-Dec-1994 |
bde |
sigsetjmp.S: Remove unnecessary .text statement.
|
5244 |
27-Dec-1994 |
bde |
Remove unnecessary .align statement.
|
5243 |
27-Dec-1994 |
bde |
Fix a spelling error and add a comment about possible improvements.
|
4811 |
25-Nov-1994 |
dg |
Go back to Bruce's fix with a minor change that will allow a NULL string pointer if len is 0. I should have looked at the revision history - I would have found that Bruce already fixed the bug with len=0 over a month ago. Whoever said that the bug was in 2.0 was wrong.
|
4809 |
25-Nov-1994 |
dg |
Fixed bugs related to returning NULL if length is zero.
|
3929 |
27-Oct-1994 |
bde |
Fix memchr(p, 0, 0) to return NULL instead of p.
|
3851 |
25-Oct-1994 |
bde |
Reenable sigsetjmp.S. Preserve the FP state. Rearrange offsets to match setjmp.S.
|
2201 |
22-Aug-1994 |
jkh |
This is weird. I *added this*, but it went away again! Ummm.. Mumble. I'm confused.. Submitted by: jkh
|
2157 |
20-Aug-1994 |
jkh |
Put __infinity back here again until someone does the right thing and repartitions libc into something human again. I don't have that kind of time right now myself, unfortunately. Submitted by: jkh
|
2058 |
13-Aug-1994 |
dg |
Fixed problem with returning -1 on error when the return value is a long long. Done by plugging both eax and edx with -1. This will clobber edx unnecessarily when the return value is only 32bit...though probably always an okay thing to do, it could stand a better fix. This was the cause of gawk being broken (boy was THAT ever a subtle bug!!!).
|
1849 |
05-Aug-1994 |
wollman |
First crack at making libc work with the new make macros. It compiles on my machine, and a simple static (genassym) and shared (sysctl) executable both work. Still to be done: RPCand YP merge.
|
1585 |
27-May-1994 |
rgrimes |
Pull in GNU2 fix for this from FreeBSD, allows ldexp.c to compile with gcc2.x
|
1574 |
27-May-1994 |
rgrimes |
This commit was generated by cvs2svn to compensate for changes in r1573, which included commits to RCS files with non-trunk default branches.
|
1187 |
21-Feb-1994 |
rgrimes |
Add $Id$ to all, clean up multiple spaces
|
1052 |
31-Jan-1994 |
dg |
WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu <hsu@soda.berkeley.edu>.
|