diff mbox

[BUILDROBOT] Build breakage in builtin.c (was: [PATCH, Pointer Bounds Checker, Builtins instrumentation 3/5] Expand instrumented builtin calls)

Message ID 20141117161734.GD5422@msticlxl57.ims.intel.com
State New
Headers show

Commit Message

Ilya Enkovich Nov. 17, 2014, 4:17 p.m. UTC
On 17 Nov 16:12, Jan-Benedict Glaw wrote:
> On Mon, 2014-11-17 15:59:41 +0100, Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> > On 2014.11.17 at 15:52 +0100, Jan-Benedict Glaw wrote:
> > > On Thu, 2014-11-06 15:24:59 +0300, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
> [...]
> > > It seems this part of the patch series causes some build breakage
> > > right now, see eg. build
> > > http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=376804 :
> > > 
> > > g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include  -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace    -o builtins.o -MT builtins.o -MMD -MP -MF ./.deps/builtins.TPo /home/jbglaw/repos/gcc/gcc/builtins.c
> > > /home/jbglaw/repos/gcc/gcc/builtins.c: In function ???rtx_def* expand_builtin_memcpy_with_bounds(tree, rtx)???:
> > > /home/jbglaw/repos/gcc/gcc/builtins.c:3300:25: error: ???BNDmode??? was not declared in this scope
> > >     rtx bnd = force_reg (BNDmode,
> > >                          ^
> > > /home/jbglaw/repos/gcc/gcc/builtins.c: In function ???rtx_def* expand_builtin_mempcpy_with_bounds(tree, rtx, machine_mode)???:
> > > /home/jbglaw/repos/gcc/gcc/builtins.c:3357:25: error: ???BNDmode??? was not declared in this scope
> > >     rtx bnd = force_reg (BNDmode,
> > >                          ^
> > > /home/jbglaw/repos/gcc/gcc/builtins.c: In function ???rtx_def* expand_builtin_memset_with_bounds(tree, rtx, machine_mode)???:
> > > /home/jbglaw/repos/gcc/gcc/builtins.c:3763:25: error: ???BNDmode??? was not declared in this scope
> > >     rtx bnd = force_reg (BNDmode,
> > >                          ^
> > > make[1]: *** [builtins.o] Error 1
> > > make[1]: Leaving directory `/home/jbglaw/build/mips-linux/build-gcc/gcc'
> > 
> > Also happens on ppc64 and probably on all the other non x86
> > architectures.
> 
> I just took that single build as an example. If you look at the
> timeline view (http://toolchain.lug-owl.de/buildbot/timeline.php),
> you'll see that every build started after ~ 14:49 CET (= 13:49 UTC)
> except a x86_64-linux build failed. (Ignore builds of gcc20, it got
> some HDD issues.)
> 
> MfG, JBG
> 
> -- 
>       Jan-Benedict Glaw      jbglaw@lug-owl.de              +49-172-7608481
> Signature of:              What we do for ourselves dies with us. What we do for
> the second  :         others and the world remains and is immortal. (Albert Pine)


i386 target mode is used instead of a hook.  Here is a fix.  Checked it fixes ARM cross build.  Committed as obvious fix.

Thanks,
Ilya
--
2014-11-17  Ilya Enkovich  <ilya.enkovich@intel.com>

	* builtins.c (expand_builtin_memcpy_with_bounds): Use target hook
	instead of BNDmode.
	(expand_builtin_mempcpy_with_bounds): Likewise.
	(expand_builtin_memset_with_bounds): Likewise.

Comments

Jan-Benedict Glaw Nov. 17, 2014, 4:43 p.m. UTC | #1
On Mon, 2014-11-17 19:17:34 +0300, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
> On 17 Nov 16:12, Jan-Benedict Glaw wrote:
> > On Mon, 2014-11-17 15:59:41 +0100, Markus Trippelsdorf <markus@trippelsdorf.de> wrote:
> > > On 2014.11.17 at 15:52 +0100, Jan-Benedict Glaw wrote:
> > > > On Thu, 2014-11-06 15:24:59 +0300, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
> > [...]
> i386 target mode is used instead of a hook.  Here is a fix.  Checked
> it fixes ARM cross build.  Committed as obvious fix.

Thanks a lot!  The first non-x86 build already succeeded:
http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=376848

MfG, JBG
diff mbox

Patch

diff --git a/gcc/builtins.c b/gcc/builtins.c
index 7ec2d5f..f48745e 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -3297,7 +3297,7 @@  expand_builtin_memcpy_with_bounds (tree exp, rtx target)
       /* Return src bounds with the result.  */
       if (res)
 	{
-	  rtx bnd = force_reg (BNDmode,
+	  rtx bnd = force_reg (targetm.chkp_bound_mode (),
 			       expand_normal (CALL_EXPR_ARG (exp, 1)));
 	  res = chkp_join_splitted_slot (res, bnd);
 	}
@@ -3354,7 +3354,7 @@  expand_builtin_mempcpy_with_bounds (tree exp, rtx target, machine_mode mode)
       /* Return src bounds with the result.  */
       if (res)
 	{
-	  rtx bnd = force_reg (BNDmode,
+	  rtx bnd = force_reg (targetm.chkp_bound_mode (),
 			       expand_normal (CALL_EXPR_ARG (exp, 1)));
 	  res = chkp_join_splitted_slot (res, bnd);
 	}
@@ -3760,7 +3760,7 @@  expand_builtin_memset_with_bounds (tree exp, rtx target, machine_mode mode)
       /* Return src bounds with the result.  */
       if (res)
 	{
-	  rtx bnd = force_reg (BNDmode,
+	  rtx bnd = force_reg (targetm.chkp_bound_mode (),
 			       expand_normal (CALL_EXPR_ARG (exp, 1)));
 	  res = chkp_join_splitted_slot (res, bnd);
 	}