From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 40616 invoked by alias); 22 Nov 2017 08:57:13 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 40380 invoked by uid 89); 22 Nov 2017 08:57:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,KB_WAM_FROM_NAME_SINGLEWORD,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy= X-HELO: mail-ua0-f194.google.com Received: from mail-ua0-f194.google.com (HELO mail-ua0-f194.google.com) (209.85.217.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Nov 2017 08:57:12 +0000 Received: by mail-ua0-f194.google.com with SMTP id l25so10118621uag.8 for ; Wed, 22 Nov 2017 00:57:11 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=8InFY11/8ak2Bwppi8aKMRbBCwsRrwFvxOQOACw1hfg=; b=XM/0KuAxbBDeGxIlionFmmOpSQdsm7YVC8O6oyaBQ4TJn3aMdOVOAs1L6XzIq8NtLZ SczeyKChwr+GHG3ckH4KGhSnHY55VxVPndpEMDHi5aX6MgieqCH/A6EuE6cUWlPYnnrV CVTqFS7KhSPR4jrvP0+kxVBam5Y/MzHMNKQ5P2/RbDVH1fYnkKVT+Y+GuJaenZB1dsE7 vakJ4V4YweKw62YH+eWoWTOvqDNf4MeKb0HjGX0uFPub9oZs3w/4u/3Seszmq9vXHEDh K1bY9UocGXgADtpzDU2h2uUHRXw885+R2p5MX3XukdY4QaJczt1+S+1O6WE6dnFIasHU E3YQ== X-Gm-Message-State: AJaThX4VoPPx2iqsTp5LysEUPKp+4tWEF7NoZA7mmfVl1IiWQdoKWg5o pg0/yHa/Wv4q9oYfY1hdWY+VCEOpLXvO3VHi0Gkj1Q== X-Google-Smtp-Source: AGs4zMYlH9+3Qy4PLfPfosH8G0//+I6CA8trlqSQg93oTEwn881m8A0iGitjy7JDkOmgOLwpHTYqQmg0SNqcxcl/JJ8= X-Received: by 10.176.78.17 with SMTP id g17mr16676154uah.169.1511341030137; Wed, 22 Nov 2017 00:57:10 -0800 (PST) MIME-Version: 1.0 Received: by 10.103.120.208 with HTTP; Wed, 22 Nov 2017 00:57:09 -0800 (PST) In-Reply-To: References: From: Christophe Lyon Date: Wed, 22 Nov 2017 09:05:00 -0000 Message-ID: Subject: Re: [RFTesting] New POINTER_DIFF_EXPR To: Marc Glisse Cc: Jason Merrill , Richard Biener , "Joseph S. Myers" , GCC Patches Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg01975.txt.bz2 On 22 November 2017 at 09:29, Marc Glisse wrote: > On Wed, 22 Nov 2017, Marc Glisse wrote: > >> On Wed, 22 Nov 2017, Christophe Lyon wrote: >> >>> Since you committed this patch (r255021), my cross-builds of GCC for >>> aarch64-linux-gnu fail while building glibc: >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/bin/aarch64-none-linux-gnu-gcc >>> fetch-value.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wundef >>> -Wwrite-string >>> s -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -fPIC >>> -I../include >>> >>> >>> -I/tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/gl >>> ibc-1/nptl_db >>> -I/tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/glibc-1 >>> -I../sysdeps/unix/sysv/linux/aarch64/nptl -I../sysdeps/unix/sysv/lin >>> ux/aarch64 -I../sysdeps/unix/sysv/linux/generic >>> -I../sysdeps/unix/sysv/linux/wordsize-64 >>> -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread >>> -I../sysdeps/pthread -I >>> ../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/inet >>> -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv >>> -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps >>> /posix -I../sysdeps/aarch64/fpu -I../sysdeps/aarch64/nptl >>> -I../sysdeps/aarch64 -I../sysdeps/wordsize-64 >>> -I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64/wordsize-6 >>> 4 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 >>> -I../sysdeps/aarch64/soft-fp -I../sysdeps/ieee754 >>> -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -nostdinc -i >>> system >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/lib/gcc/aarch64-none-linux-gnu/8.0.0/include >>> -isystem /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc >>> /tools/lib/gcc/aarch64-none-linux-gnu/8.0.0/include-fixed -isystem >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/sysroot-aarch64-none-linux-gnu/usr/include >>> -D_LIBC_REE >>> NTRANT -include ../include/libc-symbols.h -DPIC -DSHARED >>> -DNOT_IN_libc=1 -DIS_IN_libthread_db=1 -DIN_LIB=libthread_db -o >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccs >>> rc/obj-aarch64-none-linux-gnu/glibc-1/nptl_db/fetch-value.os -MD -MP >>> -MF >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/glibc-1/nptl_db/fetch- >>> value.os.dt -MT >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/glibc-1/nptl_db/fetch-value.os >>> during GIMPLE pass: vrp >>> fetch-value.c: In function '_td_locate_field': >>> fetch-value.c:44:1: internal compiler error: Segmentation fault >>> _td_locate_field (td_thragent_t *ta, >>> ^~~~~~~~~~~~~~~~ >>> 0xb87c75 crash_signal >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/toplev.c:325 >>> 0x5b1934 contains_struct_check >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree.h:3459 >>> 0x5b1934 wi::to_wide(tree_node const*) >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree.h:5247 >>> 0xf05557 vr_values::two_valued_val_range_p(tree_node*, tree_node**, >>> tree_node**) >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/vr-values.c:4051 >>> 0xf0ee48 vr_values::simplify_stmt_using_ranges(gimple_stmt_iterator*) >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/vr-values.c:4115 >>> 0xd7068f >>> substitute_and_fold_dom_walker::before_dom_children(basic_block_def*) >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-ssa-propagate.c:1073 >>> 0x1204860 dom_walker::walk(basic_block_def*) >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/domwalk.c:308 >>> 0xd6e805 substitute_and_fold_engine::substitute_and_fold() >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-ssa-propagate.c:1173 >>> 0xe71b0b vrp_prop::vrp_finalize(bool) >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vrp.c:6788 >>> 0xe81667 execute_vrp >>> >>> /tmp/6857183_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/tree-vrp.c:6864 >>> Please submit a full bug report, >> >> >> Looks like PR 83104. >> >> (I am a bit curious what the code looks like, since the testcase in the PR >> is rather on the undefined side of things, though ok for something embedded) > > > if (idx != 0 && DB_DESC_NELEM (desc) != 0 > && idx - (psaddr_t) 0 > DB_DESC_NELEM (desc)) > > "idx - (psaddr_t) 0": glibc should probably avoid doing pointer arithmetic > with a null pointer, "(ptrdiff_t) idx" looks equivalent. > The patch you attached in PR83104 works for me (at least the build completes, I haven't run the tests) Thanks, Christophe > -- > Marc Glisse