One of the t/porting/libperl.t tests was failing under
-DPERL_GLOBAL_STRUCT_PRIVATE with clang and address sanitizer,
since that combo added a data symbol to each object file:
0000000000000000 d __unnamed_1
which contradicted the test of not having any global data.
Simply ignore that symbol for the purposes of the test.
ok(!exists $data_symbols{PL_ppaddr}, "has no PL_ppaddr");
ok(! exists $symbols{data}{bss}, "has no data bss symbols");
- ok(! exists $symbols{data}{data}, "has no data data symbols");
+ ok(! exists $symbols{data}{data} ||
+ # clang with ASAN seems to add this symbol to every object file:
+ !grep($_ ne '__unnamed_1', keys %{$symbols{data}{data}}),
+ "has no data data symbols");
ok(! exists $symbols{data}{common}, "has no data common symbols");
# -DPERL_GLOBAL_STRUCT_PRIVATE should NOT have