1*1d2ad084SVasily Gorbik#!/bin/sh
2*1d2ad084SVasily Gorbik# SPDX-License-Identifier: GPL-2.0
3*1d2ad084SVasily Gorbik# Borrowed from gcc: gcc/testsuite/gcc.target/s390/nobp-section-type-conflict.c
4*1d2ad084SVasily Gorbik# Checks that we don't get error: section type conflict with ‘put_page’.
5*1d2ad084SVasily Gorbik
6*1d2ad084SVasily Gorbikcat << "END" | $@ -x c - -fno-PIE -march=z10 -mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-table -O2 -c -o /dev/null
7*1d2ad084SVasily Gorbikint a;
8*1d2ad084SVasily Gorbikint b (void);
9*1d2ad084SVasily Gorbikvoid c (int);
10*1d2ad084SVasily Gorbik
11*1d2ad084SVasily Gorbikstatic void
12*1d2ad084SVasily Gorbikput_page (void)
13*1d2ad084SVasily Gorbik{
14*1d2ad084SVasily Gorbik  if (b ())
15*1d2ad084SVasily Gorbik    c (a);
16*1d2ad084SVasily Gorbik}
17*1d2ad084SVasily Gorbik
18*1d2ad084SVasily Gorbik__attribute__ ((__section__ (".init.text"), __cold__)) void
19*1d2ad084SVasily Gorbikd (void)
20*1d2ad084SVasily Gorbik{
21*1d2ad084SVasily Gorbik  put_page ();
22*1d2ad084SVasily Gorbik  put_page ();
23*1d2ad084SVasily Gorbik}
24*1d2ad084SVasily GorbikEND
25