<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pintos-rs/src/tests/userprog, branch main</title>
<subtitle>[no description]</subtitle>
<link rel='alternate' type='text/html' href='https://git.xn--srns-noa9h.se/gustav/pintos-rs/'/>
<entry>
<title>Fixed compilation error on GCC 10.</title>
<updated>2020-05-26T14:59:17+00:00</updated>
<author>
<name>Filip Strömbäck</name>
<email>filip.stromback@liu.se</email>
</author>
<published>2020-05-26T14:57:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.xn--srns-noa9h.se/gustav/pintos-rs/commit/?id=b51fd37426d5c381f52bf93c5950479a9a13a594'/>
<id>b51fd37426d5c381f52bf93c5950479a9a13a594</id>
<content type='text'>
GCC 10 uses -fno-common by default, which makes multiple definitions of the same symbol in multiple
object files an error. This was used in the userspace test library, and broke with GCC10. Therefore,
the relevant symbol is now marked as "weak" to solve the issue and to clarify the intent.

Signed-off-by: Filip Strömbäck &lt;filip.stromback@liu.se&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GCC 10 uses -fno-common by default, which makes multiple definitions of the same symbol in multiple
object files an error. This was used in the userspace test library, and broke with GCC10. Therefore,
the relevant symbol is now marked as "weak" to solve the issue and to clarify the intent.

Signed-off-by: Filip Strömbäck &lt;filip.stromback@liu.se&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>explanatory comment and oredering of cases</title>
<updated>2016-05-16T17:51:18+00:00</updated>
<author>
<name>klaar36</name>
<email>klas.arvidsson@liu.se</email>
</author>
<published>2016-05-16T17:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.xn--srns-noa9h.se/gustav/pintos-rs/commit/?id=3757af98040e80af075e10417179d1a82199d7cf'/>
<id>3757af98040e80af075e10417179d1a82199d7cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for possible bug in exec-missing.</title>
<updated>2016-05-13T19:19:16+00:00</updated>
<author>
<name>Filip Strömbäck</name>
<email>filip.stromback@liu.se</email>
</author>
<published>2016-05-13T19:19:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.xn--srns-noa9h.se/gustav/pintos-rs/commit/?id=dedf9c50520d7be64d11ae13b957c93fd4a3ee0e'/>
<id>dedf9c50520d7be64d11ae13b957c93fd4a3ee0e</id>
<content type='text'>
The test userprog/exec-missing verifies that exec() returns -1 when
starting a process for which the binary is not found. Since the failure
of load() is discovered after a new process has been created, the output
'no-such-file: exit(-1)' will be visible in the output. The problem is
that we do not know when this happens with respect to the thread calling
exec(). Due to how the tests are designed, the time when 'no-such-file'
terminates is important. Some of the cases were listed as acceptable
outputs, but I found some acceptable outputs missing from there, namely
if 'no-such-file' for some reason takes quite some time terminating, or
even terminates after the 'exec-missing' process exits. As there is no
synchronization between these processes (nor can it be), we do not know
which one terminates first.

Effectively, I added the following possible outputs to the test, as I
find them reasonable outcomes of a correct implementation (in very
unfortunate circumstances, or when printing a lot in process_cleanup):

(exec-missing) begin
load: no-such-file: open failed
(exec-missing) exec("no-such-file"): -1
(exec-missing) end
no-such-file: exit(-1)
exec-missing: exit(0)

(exec-missing) begin
load: no-such-file: open failed
(exec-missing) exec("no-such-file"): -1
(exec-missing) end
exec-missing: exit(0)
no-such-file: exit(-1)

Signed-off-by: Filip Strömbäck &lt;filip.stromback@liu.se&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The test userprog/exec-missing verifies that exec() returns -1 when
starting a process for which the binary is not found. Since the failure
of load() is discovered after a new process has been created, the output
'no-such-file: exit(-1)' will be visible in the output. The problem is
that we do not know when this happens with respect to the thread calling
exec(). Due to how the tests are designed, the time when 'no-such-file'
terminates is important. Some of the cases were listed as acceptable
outputs, but I found some acceptable outputs missing from there, namely
if 'no-such-file' for some reason takes quite some time terminating, or
even terminates after the 'exec-missing' process exits. As there is no
synchronization between these processes (nor can it be), we do not know
which one terminates first.

Effectively, I added the following possible outputs to the test, as I
find them reasonable outcomes of a correct implementation (in very
unfortunate circumstances, or when printing a lot in process_cleanup):

(exec-missing) begin
load: no-such-file: open failed
(exec-missing) exec("no-such-file"): -1
(exec-missing) end
no-such-file: exit(-1)
exec-missing: exit(0)

(exec-missing) begin
load: no-such-file: open failed
(exec-missing) exec("no-such-file"): -1
(exec-missing) end
exec-missing: exit(0)
no-such-file: exit(-1)

Signed-off-by: Filip Strömbäck &lt;filip.stromback@liu.se&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Added .gitignore files</title>
<updated>2015-03-20T20:55:59+00:00</updated>
<author>
<name>klaar36</name>
<email>klas.arvidsson@liu.se</email>
</author>
<published>2015-03-20T20:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.xn--srns-noa9h.se/gustav/pintos-rs/commit/?id=adfc9d44534a3c02795c949aac29305dd410d4b0'/>
<id>adfc9d44534a3c02795c949aac29305dd410d4b0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial Pintos</title>
<updated>2015-03-20T16:30:24+00:00</updated>
<author>
<name>klaar36</name>
<email>klas.arvidsson@liu.se</email>
</author>
<published>2015-03-20T16:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.xn--srns-noa9h.se/gustav/pintos-rs/commit/?id=e7bc50ca8ffcaa6ed68ebd2315f78b0f5a7d10ad'/>
<id>e7bc50ca8ffcaa6ed68ebd2315f78b0f5a7d10ad</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
