<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/tests/math_test.c, branch v1.20.1</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/tests/math_test.c?h=v1.20.1</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/tests/math_test.c?h=v1.20.1'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2015-03-16T15:40:53+00:00</updated>
<entry>
<title>[libc] Add ffs(), ffsl(), and ffsll()</title>
<updated>2015-03-16T15:40:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-15T19:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=79697c75eeba01f5068412e03bc5484152f98341'/>
<id>urn:sha1:79697c75eeba01f5068412e03bc5484152f98341</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[legal] Relicense files under GPL2_OR_LATER_OR_UBDL</title>
<updated>2015-03-02T14:17:31+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-03-02T11:54:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b6ee89ffb5029d02cb1d8668757fa2b74b11e0a3'/>
<id>urn:sha1:b6ee89ffb5029d02cb1d8668757fa2b74b11e0a3</id>
<content type='text'>
Relicense files for which I am the sole author (as identified by
util/relicense.pl).

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[libc] Add flsll()</title>
<updated>2014-04-27T15:56:09+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-04-27T15:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=d36e814b8aad0dc15386180245efb3f5cb8b8386'/>
<id>urn:sha1:d36e814b8aad0dc15386180245efb3f5cb8b8386</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[libc] Add isqrt() function to find integer square roots</title>
<updated>2014-04-26T17:19:49+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-04-26T17:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3ffd309375c8f044939a77eb4738bc0b16c01965'/>
<id>urn:sha1:3ffd309375c8f044939a77eb4738bc0b16c01965</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[test] Check for correct -mrtd assumption on libgcc arithmetic functions</title>
<updated>2014-04-26T15:00:26+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-04-26T15:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9e8c48deea90a601fdd45e8d7428d4eceb7e6a39'/>
<id>urn:sha1:9e8c48deea90a601fdd45e8d7428d4eceb7e6a39</id>
<content type='text'>
As observed in commit 082cedb ("[build] Fix __libgcc attribute for
recent gcc versions"), recent versions of gcc have changed the
semantics of -mrtd as applied to the implicit arithmetic functions.

It is possible for tests to succeed even if our assumptions about
gcc's interpretation of -mrtd are incorrect.  In particular, if gcc
chooses to utilise a frame pointer in the calling function, then it
can tolerate a temporarily incorrect stack pointer (since the stack
pointer will shortly afterwards be restored from the frame pointer
anyway).

Add tests designed specifically to check that our implementations of
the implicit arithmetic functions manipulate the stack pointer as
expected by gcc.

The effect of these tests can be observed by temporarily reverting
commit 082cedb ("[build] Fix __libgcc attribute for recent gcc
versions"): without this fix in place, the tests will fail on gcc 4.7
and later.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[test] Add tests for 64-bit division</title>
<updated>2014-04-25T00:45:13+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-04-24T23:04:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ad7d5af5e19a016e484188a2c75818bb2d0a35db'/>
<id>urn:sha1:ad7d5af5e19a016e484188a2c75818bb2d0a35db</id>
<content type='text'>
On a 32-bit system, 64-bit division is implemented using the libgcc
functions provided in __udivmoddi4.c etc.  Calls to these functions
are generated automatically by gcc, with a calling convention that is
somewhat empirical in nature.  Add these self-tests primarily as a
check that we are using the correct calling convention.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[test] Add self-tests for flsl()</title>
<updated>2014-04-24T12:40:35+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2014-04-24T12:38:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=8f0e0e135670f19ee2b2f6e4ab2ab997ebd543a3'/>
<id>urn:sha1:8f0e0e135670f19ee2b2f6e4ab2ab997ebd543a3</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
