Skip to contentSkip to conversation

die__process_function: tag not supported (INVALID)!

DISCUSSION Bruce Korb 4 participants 9 messages Jul 9, 2015 – Jul 19, 2015 4 messages not in the archive

lore
Share & tools
lore
#2 lore raw
In reply to a message not in the archive
Quoted 6 lines · Bruce Korb

1. What is that message trying to say?

Take a look here:

https://github.com/acmel/dwarves/blob/master/dwarf_loader.c#L1462

Two cases where tag__print_not_supported() is called - you stumbled over one of them.

Hagen
--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#3 lore raw
Quoted 5 lines · Hagen Paul Pfeifer
Quoted 5 lines · Bruce Korb
Quoted 8 lines
Quoted 1 line

1. What is that message trying to say?

Take a look here:

https://github.com/acmel/dwarves/blob/master/dwarf_loader.c#L1462

Two cases where tag__print_not_supported() is called - you stumbled over one of them.

Now that I've read the source, I don't know what to do. I really did not mean to have a GNU_call_site in my code, so is there something to do to make pahole happy? (It's not C++, so I'm guessing it isn't the template thing...) I assume that consideration was made to just ignore it, but it didn't work out? Is there a way to print tags? "man readelf" didn't seem to get me anywhere.

Thank you!

--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
In reply to a message not in the archive
Quoted 9 lines · Bruce Korb

Now that I've read the source, I don't know what to do. I really did not mean to have a GNU_call_site in my code, so is there something to do to make pahole happy? (It's not C++, so I'm guessing it isn't the template thing...) I assume that consideration was made to just ignore it, but it didn't work out? Is there a way to print tags? "man readelf" didn't seem to get me anywhere.

Can you post a minimal example and your exact build environment including compiler flags? This would speed up the process ...

Hagen
--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#7 lore raw
In reply to Hagen Paul Pfeifer
Quoted 7 lines · Hagen Paul Pfeifer
Quoted 3 lines · Bruce Korb

1. What is that message trying to say?

Take a look here:

https://github.com/acmel/dwarves/blob/master/dwarf_loader.c#L1462

Note that as far as I know the github repository is old and not up to date. I believe the repository to use is:
https://git.kernel.org/cgit/devel/pahole/pahole.git/

Cheers,

Mark
--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#6 lore raw
In reply to Hagen Paul Pfeifer
Quoted 6 lines · Hagen Paul Pfeifer
Quoted 3 lines · Bruce Korb

Now that I've read the source, I don't know what to do.

Can you post a minimal example and your exact build environment including compiler flags? This would speed up the process ...

Compiler flags? Easy. Minimal example? Not so easy. It's a 20KLOC program with lots of moving parts. I tried pahole on all the .o and .a files (and .o files rolled into .a files), but the problems rears it head only on the final executable. If that means it is too hard, then it's too hard and I'll have to forget about it and just say, "thank you for trying."

Quoted 1 line

bash> cc -std=gnu99 -I. -Icommon/include -Ievt/include -Ifcd/include -Iftl/include -Iplatform/include \

	-Isch/include -Itests/include -MD -MP -MF_b/tests/main/dep-tests-opts.c -ggdb3 -gdwarf-2 -O0 \
	-DDEBUG_BUILD=1 -Wall -Werror -Wcast-align -Wpointer-arith -Wshadow -Wwrite-strings \
	-Wno-format-contains-nul -fno-strict-aliasing -Wstrict-aliasing=3 -Wextra -Wno-cast-qual \
	-Wmissing-prototypes -Wstrict-prototypes -o _b/tests/main/tests-opts.o -c tests/main/tests-opts.c
Quoted 1 line

bash> cc -std=gnu99 -ggdb3 -gdwarf-2 -O0 -Wall -Werror -Wcast-align -Wpointer-arith \

	-Wshadow -Wwrite-strings -Wno-format-contains-nul -fno-strict-aliasing -Wstrict-aliasing=3 \
	-Wextra -Wno-cast-qual -fno-exceptions  -o _b/project_tests \
        _b/tests/main/test_registry.o _b/tests/main/tests.o _b/tests/main/tests_run.o \
	_b/tests/main/tests-opts.o _b/tests-common.a _b/tests-sch.a _b/tests-ftl.a \
	_b/libftl.a _b/sch-sim.a _b/sch-util.a _b/libevt.a _b/common.a _b/common-util.a \
	-lpthread -lopts -lffi

--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#9 lore raw
In reply to a message not in the archive
Quoted 5 lines · Mark Wielaard
Quoted 4 lines · Hagen Paul Pfeifer
Quoted 3 lines · Bruce Korb

1. What is that message trying to say?

Quoted 7 lines
Quoted 3 lines

Take a look here:

https://github.com/acmel/dwarves/blob/master/dwarf_loader.c#L1462

Note that as far as I know the github repository is old and not up to date. I believe the repository to use is:
https://git.kernel.org/cgit/devel/pahole/pahole.git/

Does this help any? Should I go down to frame 6 and poke around?

Breakpoint 1, die__process_function (die=0x7fffffffb670, ftype=0x629b90,

    lexblock=0x629bc8, cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:1464
1464            if (!dwarf_haschildren(die) || dwarf_child(die, &child) != 0)
(gdb) bt
#0  die__process_function (die=0x7fffffffb670, ftype=0x629b90,
    lexblock=0x629bc8, cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:1464
#1  0x00007ffff7bcffdd in die__create_new_function (die=0x7fffffffb670,
    cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:1544
#2  0x00007ffff7bd0136 in __die__process_tag (die=0x7fffffffb670, cu=0x60b430,
    top_level=1, fn=0x7ffff7bd5680 <__FUNCTION__.7998> "die__process_unit")
    at /u/bkorb/tools/pahole/dwarf_loader.c:1583
#3  0x00007ffff7bd0209 in die__process_unit (die=0x7fffffffb670, cu=0x60b430)
    at /u/bkorb/tools/pahole/dwarf_loader.c:1612
#4  0x00007ffff7bd1076 in die__process (die=0x7fffffffb730, cu=0x60b430)
    at /u/bkorb/tools/pahole/dwarf_loader.c:2037
#5  0x00007ffff7bd10fb in die__process_and_recode (die=0x7fffffffb730,
    cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:2052
#6  0x00007ffff7bd1968 in cus__load_module (cus=0x608060,
    conf=0x607320 <conf_load>, mod=0x609e10, dw=0x609f90, elf=0x6080f0,
    filename=0x7fffffffe162 "skyhawk_tests")
    at /u/bkorb/tools/pahole/dwarf_loader.c:2276
#7  0x00007ffff7bd1aa6 in cus__process_dwflmod (dwflmod=0x609e10,
    userdata=0x609e20, name=0x609f50 "skyhawk_tests", base=4194304,
    arg=0x7fffffffd970) at /u/bkorb/tools/pahole/dwarf_loader.c:2324
#8  0x00007ffff73e85e1 in dwfl_getmodules () from /usr/lib64/libdw.so.1
#9  0x00007ffff7bd1b66 in cus__process_file (cus=0x608060,
    conf=0x607320 <conf_load>, fd=3, filename=0x7fffffffe162 "skyhawk_tests")
    at /u/bkorb/tools/pahole/dwarf_loader.c:2377
#10 0x00007ffff7bd1be2 in dwarf__load_file (cus=0x608060,
    conf=0x607320 <conf_load>, filename=0x7fffffffe162 "skyhawk_tests")
    at /u/bkorb/tools/pahole/dwarf_loader.c:2394
#11 0x00007ffff7bc1a8c in cus__load_file (cus=0x608060,
    conf=0x607320 <conf_load>, filename=0x7fffffffe162 "skyhawk_tests")
    at /u/bkorb/tools/pahole/dwarves.c:1476
#12 0x00007ffff7bc1b06 in cus__load_files (cus=0x608060,
    conf=0x607320 <conf_load>, filenames=0x7fffffffdbb0)
    at /u/bkorb/tools/pahole/dwarves.c:1490
#13 0x000000000040436c in main (argc=2, argv=0x7fffffffdba8)
    at /u/bkorb/tools/pahole/pahole.c:1250

--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#11 lore raw
In reply to a message not in the archive

I would happily step through the code -- if I knew what to look for and where to set break points. But I don't. The first call to die__process_and_recode didn't die, so I don't know what I'm looking for.

Quoted 33 lines

Does this help any? Should I go down to frame 6 and poke around?

Breakpoint 1, die__process_function (die=0x7fffffffb670, ftype=0x629b90,

     lexblock=0x629bc8, cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:1464
1464            if (!dwarf_haschildren(die) || dwarf_child(die, &child) != 0)
(gdb) bt
#0  die__process_function (die=0x7fffffffb670, ftype=0x629b90,
     lexblock=0x629bc8, cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:1464
#1  0x00007ffff7bcffdd in die__create_new_function (die=0x7fffffffb670,
     cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:1544
#2  0x00007ffff7bd0136 in __die__process_tag (die=0x7fffffffb670, cu=0x60b430,
     top_level=1, fn=0x7ffff7bd5680 <__FUNCTION__.7998> "die__process_unit")
     at /u/bkorb/tools/pahole/dwarf_loader.c:1583
#3  0x00007ffff7bd0209 in die__process_unit (die=0x7fffffffb670, cu=0x60b430)
     at /u/bkorb/tools/pahole/dwarf_loader.c:1612
#4  0x00007ffff7bd1076 in die__process (die=0x7fffffffb730, cu=0x60b430)
     at /u/bkorb/tools/pahole/dwarf_loader.c:2037
#5  0x00007ffff7bd10fb in die__process_and_recode (die=0x7fffffffb730,
     cu=0x60b430) at /u/bkorb/tools/pahole/dwarf_loader.c:2052
#6  0x00007ffff7bd1968 in cus__load_module (cus=0x608060,
     conf=0x607320 <conf_load>, mod=0x609e10, dw=0x609f90, elf=0x6080f0,
     filename=0x7fffffffe162 "skyhawk_tests")
     at /u/bkorb/tools/pahole/dwarf_loader.c:2276
#7  0x00007ffff7bd1aa6 in cus__process_dwflmod (dwflmod=0x609e10,
     userdata=0x609e20, name=0x609f50 "skyhawk_tests", base=4194304,
     arg=0x7fffffffd970) at /u/bkorb/tools/pahole/dwarf_loader.c:2324
#8  0x00007ffff73e85e1 in dwfl_getmodules () from /usr/lib64/libdw.so.1
#9  0x00007ffff7bd1b66 in cus__process_file (cus=0x608060,
     conf=0x607320 <conf_load>, fd=3, filename=0x7fffffffe162 "skyhawk_tests")
     at /u/bkorb/tools/pahole/dwarf_loader.c:2377
#10 0x00007ffff7bd1be2 in dwarf__load_file (cus=0x608060,
     conf=0x607320 <conf_load>, filename=0x7fffffffe162 "skyhawk_tests")
     at /u/bkorb/tools/pahole/dwarf_loader.c:2394
Quoted 8 lines

#11 0x00007ffff7bc1a8c in cus__load_file (cus=0x608060,

     conf=0x607320 <conf_load>, filename=0x7fffffffe162 "skyhawk_tests")
     at /u/bkorb/tools/pahole/dwarves.c:1476
#12 0x00007ffff7bc1b06 in cus__load_files (cus=0x608060,
     conf=0x607320 <conf_load>, filenames=0x7fffffffdbb0)
     at /u/bkorb/tools/pahole/dwarves.c:1490
#13 0x000000000040436c in main (argc=2, argv=0x7fffffffdba8)
     at /u/bkorb/tools/pahole/pahole.c:1250

--
To unsubscribe from this list: send the line "unsubscribe dwarves" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html