die__process_function: tag not supported (INVALID)!
1. What is that message trying to say?
But also:
2. -D_IO and -x_IO fail to suppress structures with those prefixes. What, then, are those options?
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
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
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
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_sitein 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
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
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
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
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
0x00007ffff7bc1a8cincus__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
OK, never mind. I set the breakpoints to print and continue and all went well. I need to use the git version, not the released version of pahole. 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