This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] Don't mark IFUNC resolver as only called directly


Hi H.J.,

> This is the patch I am checking in.  Tested on x86-64.
>
> Thanks.
>
> -- 
> H.J.
>
> From 91d0b4bc0222ce85bd529a7b3ae9e11904802c26 Mon Sep 17 00:00:00 2001
> From: "H.J. Lu" <hjl.tools@gmail.com>
> Date: Wed, 11 Apr 2018 12:31:21 -0700
> Subject: [PATCH] Don't mark IFUNC resolver as only called directly
>
> Since IFUNC resolver is called indirectly, don't mark IFUNC resolver as
> only called directly.  This patch adds ifunc_resolver to cgraph_node,
> sets ifunc_resolver for ifunc attribute and checks ifunc_resolver
> instead of looking up ifunc attribute.
[...]
> gcc/testsuite/
>
> 	PR target/85345
> 	* gcc.target/i386/pr85345.c: New test.

the new testcase FAILs on Solaris/x86:

+FAIL: gcc.target/i386/pr85345.c (test for excess errors)
+UNRESOLVED: gcc.target/i386/pr85345.c scan-assembler-times \\\\mendbr 4

Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/i386/pr85345.c:22:6: error: ifunc is not supported on this target

Fixed as follows after i386-pc-solaris2.11 testing, installed on mainline.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2018-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc.target/i386/pr85345.c: Require ifunc support.

# HG changeset patch
# Parent  ea73d713036e6dea58ea15adc3a38e73a0ecf660
Require ifunc support in gcc.target/i386/pr85345.c

	gcc/testsuite:
	* gcc.target/i386/pr85345.c: Require ifunc support.

diff --git a/gcc/testsuite/gcc.target/i386/pr85345.c b/gcc/testsuite/gcc.target/i386/pr85345.c
--- a/gcc/testsuite/gcc.target/i386/pr85345.c
+++ b/gcc/testsuite/gcc.target/i386/pr85345.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fcf-protection" } */
+/* { dg-require-ifunc "" } */
 /* { dg-final { scan-assembler-times {\mendbr} 4 } } */
 
 int resolver_fn = 0;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]