pahole: Disable incomplete CTF encoder

It was never fully functional and now its getting in the way of further
improvements for loading/encoding BTF and loading DWARF.

Eventually we can use Oracle's libctf library to add an encoder.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2021-06-24 15:18:48 -03:00
parent 0d13bc50ee
commit e2ee753fa7
3 changed files with 9 additions and 8 deletions

View File

@ -112,7 +112,7 @@ if (NOT LIBBPF_FOUND)
endif()
set(dwarves_LIB_SRCS dwarves.c dwarves_fprintf.c gobuffer.c strings.c
ctf_encoder.c ctf_loader.c libctf.c btf_encoder.c btf_loader.c
ctf_loader.c libctf.c btf_encoder.c btf_loader.c
dwarf_loader.c dutil.c elf_symtab.c rbtree.c)
if (NOT LIBBPF_FOUND)
list(APPEND dwarves_LIB_SRCS $<TARGET_OBJECTS:bpf>)
@ -179,7 +179,7 @@ install(TARGETS dwarves LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATI
install(TARGETS dwarves dwarves_emit dwarves_reorganize LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
install(FILES dwarves.h dwarves_emit.h dwarves_reorganize.h
dutil.h gobuffer.h list.h rbtree.h pahole_strings.h
btf_encoder.h config.h ctf_encoder.h ctf.h
btf_encoder.h config.h ctf.h
elfcreator.h elf_symtab.h hash.h libctf.h
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/dwarves/)
install(FILES man-pages/pahole.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/)

View File

@ -21,7 +21,7 @@
#include "dwarves_reorganize.h"
#include "dwarves.h"
#include "dutil.h"
#include "ctf_encoder.h"
//#include "ctf_encoder.h" FIXME: disabled, probably its better to move to Oracle's libctf
#include "btf_encoder.h"
#include "pahole_strings.h"
@ -1091,7 +1091,7 @@ static const struct argp_option pahole__options[] = {
{
.name = "ctf_encode",
.key = 'Z',
.doc = "Encode as CTF",
.doc = "Encode as CTF: DISABLED, consider helping porting to libctf",
},
{
.name = "flat_arrays",
@ -1283,7 +1283,7 @@ static error_t pahole__options_parser(int key, char *arg,
if (!global_verbose)
formatter = class_name_formatter;
break;
case 'Z': ctf_encode = 1; break;
// case 'Z': ctf_encode = 1; break; // FIXME: Disabled
case ARGP_flat_arrays: conf.flat_arrays = 1; break;
case ARGP_suppress_aligned_attribute:
conf.suppress_aligned_attribute = 1; break;
@ -2498,17 +2498,19 @@ static enum load_steal_kind pahole_stealer(struct cu *cu,
}
return LSK__DELETE;
}
#if 0
if (ctf_encode) {
cu__encode_ctf(cu, global_verbose);
/*
* We still have to get the type signature code merged to eliminate
* dups, reference another CTF file, etc, so for now just encode the
* first cu that is let thru by cu__filter.
*
* FIXME: Disabled, should use Oracle's libctf
*/
goto dump_and_stop;
}
#endif
if (class_name == NULL) {
if (stats_formatter == nr_methods_formatter) {
cu__account_nr_methods(cu);

View File

@ -114,7 +114,6 @@ rm -Rf %{buildroot}
%doc MANIFEST README
%{_includedir}/dwarves/btf_encoder.h
%{_includedir}/dwarves/config.h
%{_includedir}/dwarves/ctf_encoder.h
%{_includedir}/dwarves/ctf.h
%{_includedir}/dwarves/dutil.h
%{_includedir}/dwarves/dwarves.h