[Patch][RFC] openmp: ensure variables in offload table are streamed out (PRs 94848 + 95551)

Jakub Jelinek jakub@redhat.com
Tue Jun 9 14:11:03 GMT 2020


On Tue, Jun 09, 2020 at 04:02:19PM +0200, Tobias Burnus wrote:
> It turned out that this patch fails with LTO and partitions,
> causing fails at runtime such as
>   libgomp: Duplicate node
> via libgomp/splay-tree.c's splay_tree_insert.
> 
> In the test case, the problem occurred for functions - namely
> main._omp_fn.* on the host.
> If the code is run in LTO context, the filtering-out should
> have already happen via the stream-out/stream-in and hence no
> additional check is needed for omp_finish_file.
> 
> OK?

Was this caught in the testsuite, or do you have some short testcase
that could be used in the testsuite?
> 
> Tobias
> 
> PS: The streaming-in is done via:
>   input_offload_tables (/* do_force_output = */ !flag_ltrans);
> 
> -----------------
> Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
> Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter

> openmp: ensure variables in offload table are streamed out (PRs 94848 + 95551)
> 
> gcc/ChangeLog:
> 
> 	* omp-offload.c (add_decls_addresses_to_decl_constructor,
> 	omp_finish_file): With in_lto_p, stream out all offload-table
> 	items even if the symtab_node does not exist.

Ok with or without the testcase.

	Jakub



More information about the Gcc-patches mailing list