]> git.ipfire.org Git - thirdparty/kernel/linux.git/blob - scripts/gcc-goto.sh
Merge tag 'for-linus-6.9a-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[thirdparty/kernel/linux.git] / scripts / gcc-goto.sh
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
6 cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
7 int 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
18 entry:
19 asm goto ("" :::: entry);
20 return 0;
21 }
22 END