On 17 Nov 16:12, Jan-Benedict Glaw wrote:
> On Mon, 2014-11-17 15:59:41 +0100, Markus Trippelsdorf 
> <mar...@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....@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      jbg...@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.enkov...@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.


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);
        }

Reply via email to