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