found openssh-7.4p1 -O2 compiler bug

IRIX/Nekoware development, porting and related topics.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
dexter1
Moderator
Moderator
Posts: 2565
Joined: Thu Feb 20, 2003 6:57 am
Location: Zoetermeer, The Netherlands

found openssh-7.4p1 -O2 compiler bug

Unread postby dexter1 » Fri Feb 03, 2017 3:20 pm

Hello all,

I'm currently building my dual mips3/mips4 neko_openssh on both my ChallengeS and Origin 200 (6.5.22m/30m with MPro744+patches) with inclusion of all the unit-tests. While running them, it turns out that one particular openssh regression test fails:

Code: Select all

mech002:/usr/people/feverdij/src/openssh-o2/regress/unittests/sshkey> ./test_sshkey -d testdata
test_sshkey: ...........................
regress/unittests/sshkey/test_sshkey.c:462 test #28 "certify key"
ASSERT_INT_EQ(sshkey_from_blob(sshbuf_ptr(b), sshbuf_len(b), &k3), 0) failed:
sshkey_from_blob(sshbuf_ptr(b), sshbuf_len(b), &k3) = -21
           0 = 0
Abort

Error code -21 tells me that there is an invalid key being generated or compared. After many evenings of tracing and trying out stuff i found the culprit: ge25519.c Elliptic curve key generation. When compiling this particular file with -O1 i got:

Code: Select all

mech002:/usr/people/feverdij/src/openssh-o2/regress/unittests/sshkey> ./test_sshkey -d testdata/
test_sshkey: ......................................................................

...And it's still running :o
So this looks like a compiler bug. I'll leave it for now and issue a bug report with the openssh guys. and package the stuff soon with the ge25519.c compiled with -O1. If you guys run a recent homebrew openssh compiled with MIPSPro -O2 or -O3 please make sure you include this fix.

There are other problems with printing size_t types in printf statements across the code as stated by Canavan in https://bugzilla.mindrot.org/show_bug.cgi?id=2301 but i have a workaround patch that fix these printf problems.
:Crimson: :PI: :Indigo: :O2: :Indy: :Indigo2: :Indigo2IMP: :O200: :O2000: :Onyx2:

Return to “SGI: Development”

Who is online

Users browsing this forum: No registered users and 1 guest