History log of /freebsd-11.0-release/lib/libc/mips/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


302092 22-Jun-2016 brooks

Replace use of the pipe(2) system call with pipe2(2) with a zero flags
value.

This eliminates the need for machine dependant assembly wrappers for
pipe(2).

It also make passing an invalid address to pipe(2) return EFAULT rather
than triggering a segfault. Document this behavior (which was already
true for pipe2(2), but undocumented).

Reviewed by: andrew
Approved by: re (gjb)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D6815


297418 30-Mar-2016 emaste

libc: stop exporting cerror

i386 stopped exporting .cerror in r240152, and likewise for amd64 in
r240178. It is not used by other libraries on any platform, so apply
the same change to the remaining architectures.

Reviewed by: jhibbits, jilles
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5774


297238 24-Mar-2016 emaste

libc: stop exporting curbrk and minbrk in the private namespace

They are not used anywhere else in the base system and are an internal
implementation detail that does not need to be exposed.

Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5728


294515 21-Jan-2016 brooks

Fix the implementations of PSEUDO_NOERROR and PSEUDO.

The PSEUDO* macros should not declare <syscall>, only _<syscall> and
__sys_<syscall>. This was causing the interposing C wrappers to be
ignored due to link order.

Reviewed by: kib
Obtained from: CheriBSD (4e8e13c90fc6a80e1520de44a6864cfd78b3b56d)
MFC after: 1 week
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D4097


288019 20-Sep-2015 rodrigc

Add include for declaration of _set_tp(). Eliminates -Wmissing-prototypes warnings.


283751 29-May-2015 brooks

Removed unused special fork() implementations.

The arm version hasn't been used in ages.

The mips version uses a valid, but pointless check of v1 and has been
unhooked from the build since r276630.

Differential Revision: https://reviews.freebsd.org/D2592
Reviewed by: emaste
Sponsored by: DARPA, AFRL


281714 18-Apr-2015 kib

The lseek(2), mmap(2), truncate(2), ftruncate(2), pread(2), and
pwrite(2) syscalls are wrapped to provide compatibility with pre-7.x
kernels which required padding before the off_t parameter. The
fcntl(2) contains compatibility code to handle kernels before the
struct flock was changed during the 8.x CURRENT development. The
shims were reasonable to allow easier revert to the older kernel at
that time.

Now, two or three major releases later, shims do not serve any
purpose. Such old kernels cannot handle current libc, so revert the
compatibility code.

Make padded syscalls support conditional under the COMPAT6 config
option. For COMPAT32, the syscalls were under COMPAT6 already.

Remove WITHOUT_SYSCALL_COMPAT build option, which only purpose was to
(partially) disable the removed shims.

Reviewed by: jhb, imp (previous versions)
Discussed with: peter
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


281004 02-Apr-2015 emaste

libc: Eliminate duplicate copies of __vdso_gettc.c

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2152


277877 29-Jan-2015 emaste

Use zero register instead of immediate 0x0 in MIPS assembly

It seems GAS makes the substitution automatically, but Clang's
integrated assembler does not (yet). It fails with "invalid operand for
instruction."

Reported by: sbruno


277078 12-Jan-2015 emaste

Remove duplicate copies of trivial getcontextx.c

Only i386 and amd64 provide a non-trivial __getcontextx(). Use a common
trivial implementation in gen/ for other architectures, rather than
copying the file to each MD subdirectory.

Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1472


274816 21-Nov-2014 brooks

Add FPU support for MIPS setjmp(3)/longjmp(3).

This change saves/restores the callee-saved MIPS floating point
registers as documented by the o32/n32/n64 spec ("MIPSpro N32
ABI Handbook", Table 2-1) for the _setjmp(3), _longjmp(3),
setjmp(3) and longjmp(3) C library functions. This is only
included when the C library is built with hardware floating point
support (or when "SOFTFLOAT" is not defined).

Submitted by: sson
MFC after: 1 month
Sponsored by: DARPA, AFRL


268351 07-Jul-2014 marcel

Remove ia64.

This includes:
o All directories named *ia64*
o All files named *ia64*
o All ia64-specific code guarded by __ia64__
o All ia64-specific makefile logic
o Mention of ia64 in comments and documentation

This excludes:
o Everything under contrib/
o Everything under crypto/
o sys/xen/interface
o sys/sys/elf_common.h

Discussed at: BSDcan


264155 05-Apr-2014 imp

Convert from WITHOUT_SYSCALL_COMPAT to MK_SYSCALL_COMPAT.


262722 04-Mar-2014 marcel

Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP}
if not already defined. This allows building libc from outside of
lib/libc using a reach-over makefile.

A typical use-case is to build a standard ILP32 version and a COMPAT32
version in a single iteration by building the COMPAT32 version using a
reach-over makefile.

Obtained from: Juniper Networks, Inc.


251091 29-May-2013 emaste

Remove clause 3 and 4 from TNF licenses

Per the NetBSD Foundation statement
Third parties are encouraged to change the license on any files which
have a 4-clause license contributed to the NetBSD Foundation to a
2-clause license.


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


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


232581 06-Mar-2012 gonzo

Implement _set_tp


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


230189 16-Jan-2012 das

Convert softfloat to use the standard exception flag and rounding macros
in fenv.h instead of the non-standard and incomplete ones in ieeefp.h.

Thanks to Ian Lepore for testing this patch.


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.


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.


226111 07-Oct-2011 ed

Fix whitespace inconsistencies found in homegrown Symbol.maps.


218939 22-Feb-2011 jchandra

Fix bzero() for 64-bit.

The existing implementation of bzero incorrectly clears bytes when the
start address is not word aligned. Fix it by using REG_SHI macro which
works on both 32 and 64 bit.

Submitted by: Artem Belevich (fbsdlist at src cx)


218909 21-Feb-2011 brucec

Fix typos - remove duplicate "the".

PR: bin/154928
Submitted by: Eitan Adler <lists at eitanadler.com>
MFC after: 3 days


214260 24-Oct-2010 jchandra

Fix PIC_RETURN when abicalls are not defined.

Submitted by: Artem Belevich (artemb at gmail dot com)


209521 25-Jun-2010 jchandra

use PTR_WORD for __curbrk and minbrk instead of .word, the new version
wil support all ABIs.

Approved by: rrs (mentor)


209233 16-Jun-2010 jchandra

Merge jmallett@'s n64 work into HEAD - changeset 2

Update libc Makefiles.
Add makecontext implementation.

Changes from http://svn.freebsd.org/base/user/jmallett/octeon

Approved by: rrs(mentor), jmallett


209231 16-Jun-2010 jchandra

Merge jmallett@'s n64 work into HEAD - changeset 1.

Update libc assembly code to use macros that work on both o32 and n64.
Merge string functions from NetBSD.

The changes are from http://svn.freebsd.org/base/user/jmallett/octeon

Approved by: rrs (mentor), jmallett


203475 04-Feb-2010 neel

Reinstate the ptrace patch to restore the 'gp' register after calling
a function. I made a mistake in assuming that the .cprestore directive
will cause the assembler to automatically restore 'gp' after the 'jalr'.

The .cprestore directive does its magic only after 'jal' and 'bal'
instructions - not the 'jalr'.

Pointed out by: c.jayachandran@gmail.com


203442 03-Feb-2010 rrs

-White space cleanup (missing spaces in new line)
-Remove extra tab.
-Took out the duplicate code that cprestore does.
All suggested by Neel.


203428 03-Feb-2010 rrs

This fixes a bug found and fixed by JC. Basically
no save was being done of the ra and gp pointers
before we call the __error function.

Obtained from: JC (c.jayachandran@gmail.com)


201859 09-Jan-2010 imp

Merge r195030 from project/mips to head by hand

r195030 | gonzo | 2009-06-25 19:27:31 -0600 (Thu, 25 Jun 2009) | 4 lines
- Switch to libc softfloat from libgcc implementation. The problem
with latter is that it is not complete, fpsetXXX/fpgetXXX
functions are missing.


201858 09-Jan-2010 imp

Merge r197800 from projects/mips to head by hand:

r197800 | gonzo | 2009-10-06 00:35:52 -0600 (Tue, 06 Oct 2009) | 3 lines
- curbrk variable for sbrk and brk should be the same
- Add correct variable names to Symbol.map


201856 08-Jan-2010 imp

Merge r195025 from projects/mips to head by hand:

r195025 | gonzo | 2009-06-25 19:01:50 -0600 (Thu, 25 Jun 2009) | 4 lines
- Move fpgetXXX.c/fpsetXXX.c sources to hardfloat subdir/
to prevenmt them from being mixed up with lib/libc/softfloat
files with the same names


194704 23-Jun-2009 ed

Remove unneeded stdlib directories.

It's not necessary to add stdlib directories for each architecture, even
if the architecture doesn't implement any files of its own.

Submitted by: Christoph Mallon


188827 19-Feb-2009 imp

These warnings are only relevant on NetBSD it seems. They don't seem
to be relevant to FreeBSD at all.


188823 19-Feb-2009 imp

These symbols don't belong here. Remove them. Since mips hasn't had
a release, I think there's no impact here...

Reviewed by: cognet@


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


178580 26-Apr-2008 imp

Add mips support libc from the mips2-jnpr branch of perforce.