gcc-goto.sh 511 B

12345678910111213141516171819202122
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-2.0
  3. # Test for gcc 'asm goto' support
  4. # Copyright (C) 2010, Jason Baron <jbaron@redhat.com>
  5. cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
  6. int main(void)
  7. {
  8. #if defined(__arm__) || defined(__aarch64__)
  9. /*
  10. * Not related to asm goto, but used by jump label
  11. * and broken on some ARM GCC versions (see GCC Bug 48637).
  12. */
  13. static struct { int dummy; int state; } tp;
  14. asm (".long %c0" :: "i" (&tp.state));
  15. #endif
  16. entry:
  17. asm goto ("" :::: entry);
  18. return 0;
  19. }
  20. END