[PATCH] Prevent LTO section collision for a symbol name starting with '*'.
Martin Liška
mliska@suse.cz
Mon Sep 9 12:39:00 GMT 2019
PING^1
On 8/26/19 12:04 PM, Martin Liška wrote:
> Ok. I have a semi-working patch that has issues for inline clones.
> When we call cgraph_node::get_untransformed_body for an inline clone,
> then one needs to use clone_of->order to find proper LTO stream.
>
> What's more problematic is that such clone can be expanded:
>
> f/12 (f) @0x7ffff769f708
> Type: function definition analyzed
> Visibility: external public
> References: mumble.lto_priv.0/8 (write)
> Referring:
> Read from file: /tmp/cciAkXHp.ltrans1.o
> Function f/12 is inline copy in main/0
> Availability: local
> Function flags: count:1073741824 (estimated locally) local nonfreeing_fn executed_once
> Called by: main/0 (inlined) (1073741824 (estimated locally),1.00 per call)
> Calls:
>
> and lost. So we end up with an orphan and we ICE with:
>
> /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/lto/20081112_0.c: In function âmainâ:
> /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/lto/20081112_0.c:10:3: fatal error: /tmp/cciAkXHp.ltrans1.o: section f is missing
>
> So usage of symtab_node::order seems awkward to me :/
>
> Martin
>
More information about the Gcc-patches
mailing list