blob: c487fbc403ef2bef8d76271bb588b110240a90eb [file] [log] [blame]
/* { 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;
}