<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libc/mips/sys, branch master</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=master</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2018-06-04T19:35:15Z</updated>
<entry>
<title>Reimplement brk() and sbrk() to avoid the use of _end.</title>
<updated>2018-06-04T19:35:15Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2018-06-04T19:35:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9f9c9b22ecfd9e87cbe9e1becf946faeb5fbcac6'/>
<id>urn:sha1:9f9c9b22ecfd9e87cbe9e1becf946faeb5fbcac6</id>
<content type='text'>
Previously, libc.so would initialize its notion of the break address
using _end, a special symbol emitted by the static linker following
the bss section.  Compatibility issues between lld and ld.bfd could
cause the wrong definition of _end (libc.so's definition rather than
that of the executable) to be used, breaking the brk()/sbrk()
interface.

Avoid this problem and future interoperability issues by simply not
relying on _end.  Instead, modify the break() system call to return
the kernel's view of the current break address, and have libc
initialize its state using an extra syscall upon the first use of the
interface.  As a side effect, this appears to fix brk()/sbrk() usage
in executables run with rtld direct exec, since the kernel and libc.so
no longer maintain separate views of the process' break address.

PR:		228574
Reviewed by:	kib (previous version)
MFC after:	2 months
Differential Revision:	https://reviews.freebsd.org/D15663
</content>
</entry>
<entry>
<title>Replace MD assembly exect() with a portable version.</title>
<updated>2018-04-12T18:23:14Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2018-04-12T18:23:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=87385baff6b0cf994c68e78965325c910277aafa'/>
<id>urn:sha1:87385baff6b0cf994c68e78965325c910277aafa</id>
<content type='text'>
Originally, on the VAX exect() enable tracing once the new executable
image was loaded.  This was possible because tracing was controllable
through user space code by setting the PSL_T flag.  The following
instruction is a system call that activated tracing (as all
instructions do) by copying PSL_T to PSL_TP (trace pending).  The
first instruction of the new executable image would trigger a trace
fault.

This is not portable to all platforms and the behavior was replaced with
ptrace(PT_TRACE_ME, ...) since FreeBSD forked off of the CSRG repository.
Platforms either incorrectly call execve(), trigger trace faults inside
the original executable, or do contain an implementation of this
function.

The exect() interfaces is deprecated or removed on NetBSD and OpenBSD.

Submitted by:	Ali Mashtizadeh &lt;ali@mashtizadeh.com&gt;
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D14989
</content>
</entry>
<entry>
<title>Remove architecture specific shmat.S files.</title>
<updated>2018-04-05T18:17:46Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2018-04-05T18:17:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=97e5d68bb0f0df7e562e11e2aa24c8e685ced041'/>
<id>urn:sha1:97e5d68bb0f0df7e562e11e2aa24c8e685ced041</id>
<content type='text'>
These files are identical to the generated system calls.
In the case of MIPS, the file was already disconnected from the build.

Submitted by:	Ali Mashtizadeh &lt;ali@mashtizadeh.com&gt;
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D14976
</content>
</entry>
<entry>
<title>Reduce duplicate NOASM and PSEUDO definitions</title>
<updated>2016-09-08T22:38:20Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2016-09-08T22:38:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=aec2fba60fb75d0e6d43b95bfc6c93dd5a59cec3'/>
<id>urn:sha1:aec2fba60fb75d0e6d43b95bfc6c93dd5a59cec3</id>
<content type='text'>
The initial value of NOASM is nearly the same in all cases and the
initial value of PSEUDO is the same in all cases so reduce duplication
(and hopefully, future merge conflicts) by machine independent defaults.

Also document the PSEUDO variable.

Reviewed by:	jhb, kib
Obtained from:	CheriBSD
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D7820
</content>
</entry>
<entry>
<title>Rewrite ptrace(2) wrappers in C.</title>
<updated>2016-08-29T18:47:51Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2016-08-29T18:47:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=afd3e268d2560b0b878c07adf086ddbca58ca524'/>
<id>urn:sha1:afd3e268d2560b0b878c07adf086ddbca58ca524</id>
<content type='text'>
Besides removing hand-translation to assembler, this also adds missing
wrappers for arm64 and risc-v.

Reviewed by:	emaste, jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D7694
</content>
</entry>
<entry>
<title>Remove unusedd and obsolete openbsd_poll system call.  (Phase 1)</title>
<updated>2016-08-18T10:50:40Z</updated>
<author>
<name>George V. Neville-Neil</name>
<email>gnn@FreeBSD.org</email>
</author>
<published>2016-08-18T10:50:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5cba398b0c04ed6de6dcf4b5981f699329f93a4a'/>
<id>urn:sha1:5cba398b0c04ed6de6dcf4b5981f699329f93a4a</id>
<content type='text'>
Reported by:	brooks
Reviewed by:	brooks,jhb
Differential Revision:	https://reviews.freebsd.org/D7548
</content>
</entry>
<entry>
<title>Replace use of the pipe(2) system call with pipe2(2) with a zero flags</title>
<updated>2016-06-22T21:11:27Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2016-06-22T21:11:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b60998c6331e2be21f1fc29fa6c82d94a1f72ef0'/>
<id>urn:sha1:b60998c6331e2be21f1fc29fa6c82d94a1f72ef0</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Removed unused special fork() implementations.</title>
<updated>2015-05-29T19:42:55Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2015-05-29T19:42:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0aa6527ff0ba6eee1e3742c0fd62d5830d299ce2'/>
<id>urn:sha1:0aa6527ff0ba6eee1e3742c0fd62d5830d299ce2</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>The lseek(2), mmap(2), truncate(2), ftruncate(2), pread(2), and</title>
<updated>2015-04-18T21:50:13Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2015-04-18T21:50:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0538aafc41ac136a3ab5a88d7d67f968f6d06b52'/>
<id>urn:sha1:0538aafc41ac136a3ab5a88d7d67f968f6d06b52</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>libc: Eliminate duplicate copies of __vdso_gettc.c</title>
<updated>2015-04-02T21:18:11Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2015-04-02T21:18:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=541236cf605979a6b72ae4e0d82c5b13c403376f'/>
<id>urn:sha1:541236cf605979a6b72ae4e0d82c5b13c403376f</id>
<content type='text'>
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D2152
</content>
</entry>
</feed>
