cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

gcc-goto.sh (511B)


      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