Blame view

scripts/gcc-goto.sh 511 Bytes
bf5438fca   Jason Baron   jump label: Base ...
1
  #!/bin/sh
b24413180   Greg Kroah-Hartman   License cleanup: ...
2
  # SPDX-License-Identifier: GPL-2.0
df0a92c20   Jonathan Neuschäfer   scripts/gcc-goto....
3
  # Test for gcc 'asm goto' support
bf5438fca   Jason Baron   jump label: Base ...
4
  # Copyright (C) 2010, Jason Baron <jbaron@redhat.com>
e9666d10a   Masahiro Yamada   jump_label: move ...
5
  cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
a9468f30b   Rabin Vincent   ARM: 7333/2: jump...
6
7
  int main(void)
  {
f3c003f72   Jiang Liu   arm64, jump label...
8
  #if defined(__arm__) || defined(__aarch64__)
a9468f30b   Rabin Vincent   ARM: 7333/2: jump...
9
10
11
12
13
14
15
16
17
18
19
20
21
  	/*
  	 * Not related to asm goto, but used by jump label
  	 * and broken on some ARM GCC versions (see GCC Bug 48637).
  	 */
  	static struct { int dummy; int state; } tp;
  	asm (".long %c0" :: "i" (&tp.state));
  #endif
  
  entry:
  	asm goto ("" :::: entry);
  	return 0;
  }
  END