<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/libexec/rtld-elf/arm/rtld_start.S, 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>2015-09-29T16:09:58Z</updated>
<entry>
<title>Annotate arm userspace assembler sources stating their tolerance to</title>
<updated>2015-09-29T16:09:58Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2015-09-29T16:09:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=96cdb0ab9d6d89d47c14f239933391a1f7d465c7'/>
<id>urn:sha1:96cdb0ab9d6d89d47c14f239933391a1f7d465c7</id>
<content type='text'>
the non-executable stack.

Reviewed by:	andrew
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Align the stack in _rtld_bind_start. Normally this is called with the</title>
<updated>2014-07-06T10:24:06Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2014-07-06T10:24:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0685d955d6c6218db44bb9a67f945decf3470ea4'/>
<id>urn:sha1:0685d955d6c6218db44bb9a67f945decf3470ea4</id>
<content type='text'>
correct stack alignment, however when we have a leaf function that uses
thread local storage it calls __aeabi_read_tp to get the thread pointer.
Neither GCC or clang see this as a function call so will align the stack
to a 4-byte boundary. This may be a problem as _rtld_bind expects to be
on an 8-byte boundary.

The solution is to store a copy of the stack pointer and force the
alignment before calling _rtld_bind.

This fixes a problem with armeb where applications would crash in odd ways.
It should also remove the need for a local patch to clang to force the
stack alignment to an 8-byte boundary, even for leaf functions. Further
testing will be needed before reverting this local change to clang as we
may rely on it in other places.

Reviewed by:	jmg@
</content>
</entry>
<entry>
<title>Ensure we align the stack to 8 bytes in rtld.</title>
<updated>2012-08-04T05:30:20Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2012-08-04T05:30:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=782b05f96b15a2d92336dd0bd8fc06dbc4638312'/>
<id>urn:sha1:782b05f96b15a2d92336dd0bd8fc06dbc4638312</id>
<content type='text'>
This is not strictly required with the current ABI but will be when we
switch to the ARM EABI. The aapcs requires the stack to be 4 byte aligned
at all times and 8 byte aligned when calling a public subroutine where the
current ABI only requires sp to be a multiple of 4.
</content>
</entry>
<entry>
<title>The NetBSD Foundation has granted permission to remove clauses 3 and 4.</title>
<updated>2010-02-16T21:49:36Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2010-02-16T21:49:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6f76ed8008a7bf64cfa7da066b8d05644f87b51d'/>
<id>urn:sha1:6f76ed8008a7bf64cfa7da066b8d05644f87b51d</id>
<content type='text'>
Obtained from:	NetBSD
</content>
</entry>
<entry>
<title>Use add instead of saving the sp in a register.</title>
<updated>2004-09-28T14:41:15Z</updated>
<author>
<name>Olivier Houchard</name>
<email>cognet@FreeBSD.org</email>
</author>
<published>2004-09-28T14:41:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0e030636cb7bb69285ec77ecc46b87b49cdca96d'/>
<id>urn:sha1:0e030636cb7bb69285ec77ecc46b87b49cdca96d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add stubs for TLS.</title>
<updated>2004-09-23T23:04:52Z</updated>
<author>
<name>Olivier Houchard</name>
<email>cognet@FreeBSD.org</email>
</author>
<published>2004-09-23T23:04:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9ac88d19dcd10177f5580fa806ae0bab8005f836'/>
<id>urn:sha1:9ac88d19dcd10177f5580fa806ae0bab8005f836</id>
<content type='text'>
Arbitraly choose the 2nd variant until I figure out which one I should use.
</content>
</entry>
<entry>
<title>Import arm bits for rtld-elf.</title>
<updated>2004-05-14T12:15:51Z</updated>
<author>
<name>Olivier Houchard</name>
<email>cognet@FreeBSD.org</email>
</author>
<published>2004-05-14T12:15:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e659267f1e22c5b9c79bae499bbc95b183b9aae2'/>
<id>urn:sha1:e659267f1e22c5b9c79bae499bbc95b183b9aae2</id>
<content type='text'>
Obtained from:	NetBSD
</content>
</entry>
</feed>
