[PATCH v3] covoar: Handle periods in symbols from objdump
Chris Johns
chrisj at rtems.org
Wed Mar 17 00:18:14 UTC 2021
On 17/3/21 9:56 am, Joel Sherrill wrote:
> On Tue, Mar 16, 2021, 4:47 PM Alex White <alex.white at oarcorp.com
> <mailto:alex.white at oarcorp.com>> wrote:
>
> > Do any non-compiler-generated symbols include "."?
>
> Yes, according to the output of nm:
>
> $ i386-rtems6-nm build/i386/pc686/testsuites/libtests/block08.exe | grep " \."
> 0011bdd2 t .check_stack_switch
>
> I don't think there are any function symbols that include ".", though.
>
> I don't think including a dot is legal in any programming language we are
> interested in. Holy qualified names in Ada use dot in fully qualified names
> between the parts but that is mangled in the compiler.
>
> > Are there symbols that start with a "." that might be caught? I know we do
> > this in assembly programming often, e.g., ".vectors", although probably it is
> > unlikely to appear in C/asm I just want to be thorough.
> >
>
> I didn't spot any when I looked:
>
> $ grep -r "PUBLIC\s*(\." --exclude-dir=build
>
> I guess it is possible, though. I'm not sure how I would properly handle it.
> Currently, covoar would just chop off everything after the ".", fail to find
> a coverage map, log an error, and move on.
>
> Do we think that is good enough?
>
> Until we find a language where a user written method can have a dot in the
> generated name. :)
Do the asm symbols appear in the DWARF info? Could you search the DWARF and if
it fails check for a . in the symbol and if it does remove the suffix and try again?
Chris
More information about the devel
mailing list