All three of these architectures fail to handle this special case, and
will cause the corresponding setjmp/_setjmp to return 0 rather than 1.
Fix this and add regression tests (also committed upstream).
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 37973 Build 34862: arc lint + arc unit
Event Timeline
lib/libc/mips/gen/setjmp.S | ||
---|---|---|
224 | This file is full of sadness wrt delay slots; they're not exposed here (despite being exposed in _setjmp.S!), but you would be forgiven for thinking otherwise when looking at most (but not all) of the existing branches... |
Comment Actions
Interesting question with an interesting answer:
- amd64 - Hard-coded return value of 1
- arm - Hard-coded return value of 1
- arm64 - Returns argument without handling 0 properly
- i386 - Hard-coded return value of 1
- mips - Hard-coded return value of 1
- powerpc - Hard-coded return value of 1
- riscv - Returns argument without handling 0 properly
So every architecture is wrong. Gah.