[libcpp] Reimplement mkdeps data structures

Christophe Lyon christophe.lyon@linaro.org
Tue May 7 14:31:00 GMT 2019


Hi Nathan,

On Tue, 7 May 2019 at 14:39, Nathan Sidwell <nathan@acm.org> wrote:
>
> This patch reimplements the header dependency data structures.  We can
> now use a vector class, rather than cut-n-paste 3 sets of bespoke
> C-style array handling.  Sadly, simply using vec.h didn't work, so I do
> have one internal vector class.
>
> The other change is that, rather than apply quoting on adding the
> dependencies, we apply it when writing them out.  This'll permit writing
> the dependencies in different forms (later).  Because we have both -MT
> already-quoted-target and MQ apply-quote-target we need to remember
> which was used.  Fortunately, we record these targets first, so we can
> just record when we stopped adding already-quoted targets.
>


After your commit, I'm seeing an ICE while building glibc headers:
<built-in>: internal compiler error: Segmentation fault
0xc2eeaf crash_signal
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/toplev.c:326
0x151ad0d munge
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libcpp/mkdeps.c:176
0x151adb6 make_write_name
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libcpp/mkdeps.c:320
0x151adb6 make_write_vec
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libcpp/mkdeps.c:348
0x151b24b make_write
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libcpp/mkdeps.c:367
0x151b24b deps_write(mkdeps const*, _IO_FILE*, bool, unsigned int)
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libcpp/mkdeps.c:381
0x150e007 cpp_finish(cpp_reader*, _IO_FILE*)
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/libcpp/init.c:769
0x6f91f7 c_common_finish()
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/c-family/c-opts.c:1221
0x5ff089 finalize
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/toplev.c:2105
0x5ff089 do_compile
        /tmp/2191418_6.tmpdir/aci-gcc-fsf/sources/gcc-fsf/gccsrc/gcc/toplev.c:2214
Please submit a full bug report,

while trying to build glibc-headers/bits/stdio_lim.st

(seen on aarch64)

Can you check?

Thanks,

Christophe

> nathan
> --
> Nathan Sidwell



More information about the Gcc-patches mailing list