| Title | airtest failure on lii3gc |
| Status | closed |
| Priority | nice |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | airtest fails on lii3gc (with any seed): airtest: randomize(): choosing initial state (v3): 2123839392. wrongly finalized vector 0 at 0xb747000c Also happens on xci3gc. |
| Analysis | This only happens when function inlining is turned on: the error goes away if I make with CFLAGS=-fno-inline. Stepping through in a debugger reveals that the function test_air is inlined into test_main, and the stack bottom marker is ineffective. The test case can be made to work again by marking test_air with __attribute__((__noinline__)), or by moving the marker down one level of the stack to main. |
| How found | automated_test |
| Evidence | None |
| Test procedure | airtest |
| Created by | Gareth Rees |
| Created on | 2014-04-14 12:12:07 |
| Last modified by | Gareth Rees |
| Last modified on | 2014-10-20 17:35:45 |
| History | 2014-04-14 GDR Created. |
| Change | Effect | Date | User | Description |
|---|---|---|---|---|
| 185524 | closed | 2014-04-14 18:37:31 | Gareth Rees | Move the marker down the stack so that GCC's aggressive inline won't scupper it. |