diff -ruN parrot-1.0.0/config/auto/alignptrs/test_c.in parrot-1.0.0.XF/config/auto/alignptrs/test_c.in
|
old
|
new
|
|
| 14 | 14 | void bletch(int s) { exit(1); } |
| 15 | 15 | #endif |
| 16 | 16 | |
| | 17 | #ifdef __linux |
| | 18 | #include <sys/prctl.h> |
| | 19 | #endif /* __linux */ |
| | 20 | |
| 17 | 21 | int |
| 18 | 22 | main(int argc, char **argv) |
| 19 | 23 | { |
| … |
… |
|
| 34 | 38 | signal(SIGBUS, bletch); |
| 35 | 39 | #endif |
| 36 | 40 | |
| | 41 | #if defined(PR_SET_UNALIGN) && defined(PR_UNALIGN_SIGBUS) |
| | 42 | prctl(PR_SET_UNALIGN, PR_UNALIGN_SIGBUS, 0, 0, 0); |
| | 43 | #endif |
| | 44 | |
| 37 | 45 | for (i = 0; i < 32; i ++) space[i] = 0; |
| 38 | 46 | |
| 39 | 47 | for (c = argv[1]; *c; c++) align = align * 10 + ((int)*c - '0'); |
| 40 | 48 | |
| 41 | | #if defined(__alpha) |
| | 49 | #if defined(__alpha) && !defined(PR_SET_UNALIGN) |
| 42 | 50 | if (align < 8) { |
| 43 | 51 | printf("Soft failure hack for systems that simulate unaligned access\n"); |
| 44 | 52 | return 1; |