From 067aef033f3a9ad971fc75ce0631c500de0f0423 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 26 Feb 2019 16:09:40 +0000 Subject: [PATCH] [libbacktrace] Fix btest-lto for older gcc With gcc 4.8.5, btest_lto ends up with a privatized name for the variable with name 'global': ... $ nm btest_lto | grep ' d ' | grep global 0000000000617150 d global.2530 ... which makes test5 fail: ... test5: unexpected syminfo name got global.2530 expected global ... Fix this failure by accepting this type of name as a valid name in btest_lto. 2019-02-26 Tom de Vries * btest.c (test5): Allow global.* as minimal symbol name for global. From-SVN: r269217 --- libbacktrace/ChangeLog | 4 ++++ libbacktrace/btest.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index bfd828ec3e7..662d00e80eb 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,7 @@ +2019-02-26 Tom de Vries + + * btest.c (test5): Allow global.* as minimal symbol name for global. + 2019-02-26 Tom de Vries * Makefile.am (TESTS): Only add b3test_dwz_buildid if HAVE_DWZ. diff --git a/libbacktrace/btest.c b/libbacktrace/btest.c index b1c2a2a860d..32718ad1ff2 100644 --- a/libbacktrace/btest.c +++ b/libbacktrace/btest.c @@ -423,7 +423,8 @@ test5 (void) fprintf (stderr, "test5: NULL syminfo name\n"); symdata.failed = 1; } - else if (strcmp (symdata.name, "global") != 0) + else if (!(strncmp (symdata.name, "global", 6) == 0 + && (symdata.name[6] == '\0'|| symdata.name[6] == '.'))) { fprintf (stderr, "test5: unexpected syminfo name got %s expected %s\n", -- 2.30.2