/* { dg-do run { target { powerpc*-*-linux* && ilp32 } } } */ /* { dg-options "-O2" } */ /* PR 96983 reported that the test in libgcc's tramp.S was backwards and it would abort if the trampoline size passed to the function was greater than the size the runtime was expecting (40). It should abort if the size is less than 40, not greater than 40. This test creates a call to __trampoline_setup with a much larger buffer to make sure the function does not abort. We do not run this test on 64-bit since __trampoline_setup is not present in 64-bit systems. We only run the test under Linux in case the other systems have some different variant for __trampoline_setup. */ #ifndef SIZE #define SIZE 100 #endif extern void __trampoline_setup (int *, unsigned, void *, void *); int main (void) { int tramp[SIZE / sizeof (int)]; __trampoline_setup (tramp, SIZE, 0, 0); return 0; }