Go to file
Arnaldo Carvalho de Melo 3280cb4176 core: Make parameter->name a real string
For the threaded code we want to access strings in tags at the same time
that the string table may grow in another thread making the previous
pointer invalid, so, to avoid excessive locking, use plain strings.

The way the tools work will either consume the just produced CU straight
away or keep just one copy of each data structure when we keep all CUs
in memory, so lets try stopping using strings_t for strings.

For the parameter->name case we get the bonus of removing a user of
dwarves__active_loader.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2021-08-12 09:39:46 -03:00
cmake/modules cmake: libebl was merged into libdw 2020-02-03 08:42:13 +01:00
lib libbpf: Fixup patch to allow to use packaged version 2021-06-13 10:22:21 -03:00
man-pages pahole: Allow specifying the number of threads to use while loading files 2021-07-28 15:18:16 -03:00
ostra ostra: Initial python3 conversion 2019-04-23 12:02:22 -03:00
rpm/SPECS pahole: Disable incomplete CTF encoder 2021-08-12 09:39:44 -03:00
.gitignore pahole: Add build dir, config.h to .gitignore 2019-02-11 12:55:46 -03:00
.gitmodules pahole: add libbpf as submodule under lib/bpf 2019-02-11 12:56:40 -03:00
CMakeLists.txt pahole: Disable incomplete CTF encoder 2021-08-12 09:39:44 -03:00
COPYING [LICENSE]: Add COPYING file and add missing license info on some files 2007-12-17 14:15:42 -02:00
MANIFEST btf_encoder: Move libbtf.c to btf_encoder.c, the only user of its functions 2021-06-09 13:34:15 -03:00
NEWS pahole: Prep 1.21 2021-04-09 19:39:15 -03:00
README README: Add documentation for -DBUILD_SHARED_LIBS 2021-06-10 14:31:44 -03:00
README.DEBUG README.DEBUG: Add an extra step to make the instructions cut'n'exec 2017-12-14 14:15:54 -03:00
README.btf v1.13: New release 2019-04-16 16:13:19 -03:00
README.cross README: Add instructions to do a cross build 2020-08-17 09:52:02 -03:00
README.ctracer ctracer: update README.ctracer, f9 has the dwarves 2008-10-29 08:54:53 -02:00
README.tarball docs: Add command line to generate tarball with a prefix 2020-03-12 16:55:15 -03:00
btf_encoder.c core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00
btf_encoder.h btf_encoder: Pass detached_filename to the constructor 2021-06-14 18:53:35 -03:00
btf_loader.c core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00
btfdiff btfdiff: Support diffing DWARF vs detached BTF 2021-06-08 10:08:22 -03:00
changes-v1.13 v1.13: New release 2019-04-16 16:13:19 -03:00
changes-v1.16 dwarves: Prep v1.16 2019-12-16 11:43:53 -03:00
changes-v1.17 dwarves: Prep v1.17 2020-03-13 16:36:02 -03:00
changes-v1.18 dwarves: Prep v1.18 2020-10-02 17:29:59 -03:00
changes-v1.19 dwarves: Prep v1.19 2020-11-23 09:52:44 -03:00
changes-v1.20 pahole: Prep 1.20 2021-02-03 21:45:01 -03:00
changes-v1.21 pahole: Prep 1.21 2021-04-09 19:39:15 -03:00
codiff.c core: Introduce helper to return number of cu entries in a 'struct cus' 2021-07-28 15:18:16 -03:00
config.h.cmake [DWARVES] Fixes a FIXME relating to a missing elf (libdw) symbol check. 2008-02-12 21:08:49 -02:00
ctf.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
ctf_encoder.c strings: use BTF's string APIs for strings management 2020-10-20 17:17:51 -03:00
ctf_encoder.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
ctf_loader.c core: Make base_type->name a real string 2021-08-12 09:39:46 -03:00
ctfdwdiff ctfdwdiff: Don't ask for variables and inline expansions in pfunct 2009-03-31 19:21:46 -03:00
ctracer.c core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00
dtagnames.c headers: Rebame __unused to __maybe_unused to avoid clashes with system headers 2021-06-13 10:25:35 -03:00
dutil.c dutil: Make handling of NULL by destructos consistent 2021-05-27 11:00:18 -03:00
dutil.h headers: Rebame __unused to __maybe_unused to avoid clashes with system headers 2021-06-13 10:25:35 -03:00
dwarf_loader.c core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00
dwarves.c core: Make base_type->name a real string 2021-08-12 09:39:46 -03:00
dwarves.h core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00
dwarves_emit.c emit: Remove unused 'is_pointer' variable 2019-07-02 10:27:16 -03:00
dwarves_emit.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dwarves_fprintf.c core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00
dwarves_reorganize.c reorganize: Enclose bitfield routines under ifdef 2019-07-02 12:28:50 -03:00
dwarves_reorganize.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
elf_symtab.c elf_symtab: Use zfree() where applicable 2021-05-27 11:00:18 -03:00
elf_symtab.h bpf_encoder: Translate SHN_XINDEX in symbol's st_shndx values 2021-01-26 22:36:36 -03:00
elfcreator.c elfcreator: Address initialization warning emitted by 'gcc -O6' 2019-12-16 11:19:47 -03:00
elfcreator.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
fullcircle v1.13: New release 2019-04-16 16:13:19 -03:00
gobuffer.c gobuffer: Use zfree() and make delete accept NULL, like free() 2021-05-27 11:00:18 -03:00
gobuffer.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
hash.h dwarf_loader: Use a better hashing function, from libbpf 2021-02-12 09:35:53 -03:00
libctf.c libctf: Use zfree() where applicable 2021-05-27 11:00:18 -03:00
libctf.h strings: use BTF's string APIs for strings management 2020-10-20 17:17:51 -03:00
list.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
pahole.c pahole: Disable incomplete CTF encoder 2021-08-12 09:39:44 -03:00
pahole_strings.h libbpf: Allow to use packaged version 2021-06-09 13:34:18 -03:00
pdwtags.c headers: Rebame __unused to __maybe_unused to avoid clashes with system headers 2021-06-13 10:25:35 -03:00
pfunct.c headers: Rebame __unused to __maybe_unused to avoid clashes with system headers 2021-06-13 10:25:35 -03:00
pglobal.c headers: Rebame __unused to __maybe_unused to avoid clashes with system headers 2021-06-13 10:25:35 -03:00
prefcnt.c headers: Rebame __unused to __maybe_unused to avoid clashes with system headers 2021-06-13 10:25:35 -03:00
rbtree.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
rbtree.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
regtest regtest: Accept --diff instad of plain 'diff' as long option 2012-05-14 19:36:58 -03:00
scncopy.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
strings.c libbpf: Allow to use packaged version 2021-06-09 13:34:18 -03:00
syscse.c core: Make parameter->name a real string 2021-08-12 09:39:46 -03:00

README

Build instructions:

1. install cmake
2. mkdir build
3. cd build
4. cmake -D__LIB=lib ..
5. make install

cmake Options:
  -DBUILD_SHARED_LIBS
    By default SHARED libraries are created and applications are linked to it.
    Use -DBUILD_SHARED_LIBS=OFF while invoking cmake to create STATIC libraries
    and link applications to it.

    Ex. cmake -D__LIB=lib -DBUILD_SHARED_LIBS=OFF ..

  -DCMAKE_INSTALL_PREFIX
    Default is to install to /usr/local, use -DCMAKE_INSTALL_PREFIX=
    when invoking cmake to specify another install location.

Known to work scenarios:

Mandriva Cooker:

cmake 2.4.5-1mdv2007.1
libelfutils1-devel 0.123-1mdv2007.1

Debian Unstable:

cmake 2.4.5-1
libdw-dev 0.123-2

Fedora Core 6:

cmake 2.4.5-2.fc6
elfutils-devel 0.126-1.fc6