linux/scripts/gcc-goto.sh
<<
>>
Prefs
   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
   6cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
   7int main(void)
   8{
   9#if defined(__arm__) || defined(__aarch64__)
  10        /*
  11         * Not related to asm goto, but used by jump label
  12         * and broken on some ARM GCC versions (see GCC Bug 48637).
  13         */
  14        static struct { int dummy; int state; } tp;
  15        asm (".long %c0" :: "i" (&tp.state));
  16#endif
  17
  18entry:
  19        asm goto ("" :::: entry);
  20        return 0;
  21}
  22END
  23