[libbacktrace] Fix btest-lto for older gcc
authorTom de Vries <tdevries@suse.de>
Tue, 26 Feb 2019 16:09:40 +0000 (16:09 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Tue, 26 Feb 2019 16:09:40 +0000 (16:09 +0000)
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  <tdevries@suse.de>

* btest.c (test5): Allow global.* as minimal symbol name for global.

From-SVN: r269217

libbacktrace/ChangeLog
libbacktrace/btest.c

index bfd828ec3e7c846d109261180abfd79fb97a4b26..662d00e80eb8fc8fc17608536cb5ce155ee31a3e 100644 (file)
@@ -1,3 +1,7 @@
+2019-02-26  Tom de Vries  <tdevries@suse.de>
+
+       * btest.c (test5): Allow global.* as minimal symbol name for global.
+
 2019-02-26  Tom de Vries  <tdevries@suse.de>
 
        * Makefile.am (TESTS): Only add b3test_dwz_buildid if HAVE_DWZ.
index b1c2a2a860d3998cc73952a019bb0b1b52e9ad0a..32718ad1ff2bd8e9a3dd7653902295e36e545cfa 100644 (file)
@@ -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",