[PATCH] D33488: [ELF] - Optimization for populating stringpool when building .gdb_index.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Thu May 25 23:23:55 PDT 2017


>Good point. But now that I think of it, any idea why the hash is defined
>with a tolower? Should we be canonicalazing the strings in the set? If
>so the hash could just assert that the characters are lowercase.

hash uses tolower() starting from 5 version of index (https://sourceware.org/gdb/onlinedocs/gdb/Index-Section-Format.html).
Doc says: "The names of C++ symbols in the hash table are canonicalized. We don’t currently have a simple description of the
canonicalization algorithm; if you intend to create new index sections, you must read the code."

Since our index looks work fine, I did not think about what is "canonicalization" here, assuming we are ok atm. 
That may need investigation probably.

>Trying to benchmark this myself I hit:
>https://bugs.llvm.org/show_bug.cgi?id=33173.
>
>Could you take a look?
>

Yes, I am hitting the same when linking llc debug binary in my tests. 
And there is no issue when -gsplit-dwarf is used for compilation.
I was ignoring this for now as it a single relocation relative to TLS.
and does not teminate linking currently and does not affect .gdb_index it seems.

It looks the same as people hit here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=493979
and may be we can handle it as R_X86_64_32 as well, but I was not sure.
Wanted to look later, thanks for opening bug.

>Ignoring the error the difference I see when linking clang is in the
>noise.
>
>Cheers,
>Rafael

George.


More information about the llvm-commits mailing list