Go to file
Andrii Nakryiko 41cf0e3cba dwarf_loader: Don't recode enums and use real enum size in calculations
This patch disables bitfield recoding logic in DWARF loader.
This logic is already disabled during DWARF->BTF conversion and without
it pahole reliably produces correct BTF bitfield offsets.

If this functionality is enabled, we are losing correct enum size
information. So let's disable and probably eventually remove it altogether.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: dwarves@vger.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-03-29 15:55:37 -03:00
cmake/modules cmake: Add comments explaining build_id and fedora/rh detection 2009-06-27 13:32:20 -03:00
lib libbpf: Sync in latest libbpf sources 2019-03-29 15:53:13 -03:00
man-pages man-pages: Add entry for --hex 2017-09-05 10:13:06 -03:00
ostra [OSTRA]: Change ostra-cg license to GPLv2 2007-12-24 12:25:17 -02:00
rpm/SPECS v1.12 - New Release 2018-08-16 16:15:27 -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
btf_encoder.c dwarves: Introduce type_id_t for use with the type IDs 2019-03-11 11:44:53 -03:00
btf_encoder.h Fixup copyright notices for BTF files authored by Facebook engineers 2019-01-18 20:34:05 -03:00
btf_loader.c loaders: Strip away volatile/const/restrict when fixing bitfields 2019-03-29 15:55:37 -03:00
btfdiff btfdiff: Support specifying custom pahole location 2019-02-22 18:06:27 -03:00
CMakeLists.txt libbpf: Build as PIC and statically link into libdwarves 2019-02-19 10:21:29 -03:00
codiff.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -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
COPYING [LICENSE]: Add COPYING file and add missing license info on some files 2007-12-17 14:15:42 -02:00
ctf_encoder.c libctf: The type_ids returned are uint32_t fixup where it was uint16_t 2019-03-11 11:44:53 -03:00
ctf_encoder.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
ctf_loader.c loaders: Strip away volatile/const/restrict when fixing bitfields 2019-03-29 15:55:37 -03:00
ctf.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
ctfdwdiff ctfdwdiff: Don't ask for variables and inline expansions in pfunct 2009-03-31 19:21:46 -03:00
ctracer.c dwarves: Introduce type_id_t for use with the type IDs 2019-03-11 11:44:53 -03:00
dtagnames.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dutil.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dutil.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dwarf_loader.c dwarf_loader: Don't recode enums and use real enum size in calculations 2019-03-29 15:55:37 -03:00
dwarves_emit.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dwarves_emit.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dwarves_fprintf.c dwarves_fprintf: Print the bit_offset for inline enum bitfield class members 2019-03-12 16:46:15 -03:00
dwarves_reorganize.c dwarves: Introduce type_id_t for use with the type IDs 2019-03-11 11:44:53 -03:00
dwarves_reorganize.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dwarves.c loaders: Strip away volatile/const/restrict when fixing bitfields 2019-03-29 15:55:37 -03:00
dwarves.h loaders: Strip away volatile/const/restrict when fixing bitfields 2019-03-29 15:55:37 -03:00
elf_symtab.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
elf_symtab.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
elfcreator.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
elfcreator.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
gobuffer.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
gobuffer.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
hash.h [DWARVES]: Use a hash table for the tags in a CU 2008-02-11 11:47:17 -02:00
libbtf.c btf_encoder: run BTF deduplication before writing out to ELF 2019-02-18 11:00:03 -03:00
libbtf.h btf_elf: Rename btf_elf__free() to btf_elf__delete() 2019-02-14 17:06:40 -03:00
libctf.c libctf: The type_ids returned are uint32_t fixup where it was uint16_t 2019-03-11 11:44:53 -03:00
libctf.h libctf: The type_ids returned are uint32_t fixup where it was uint16_t 2019-03-11 11:44:53 -03:00
list.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
MANIFEST MANIFEST: Add missing COPYING file 2018-09-11 11:22:41 -03:00
NEWS v1.12 - New Release 2018-08-16 16:15:27 -03:00
pahole.c pahole: Filter out unions when looking for packable structs 2019-03-28 16:53:26 -03:00
pdwtags.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
pfunct.c dwarves: Introduce type_id_t for use with the type IDs 2019-03-11 11:44:53 -03:00
pglobal.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
prefcnt.c Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -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
README [CMAKE]: Make the default install prefix be /usr/local 2007-04-19 18:01:47 -03:00
README.btf README.btf: Add section on validating the .BTF section via the kernel 2018-08-16 12:05:29 -03:00
README.ctracer ctracer: update README.ctracer, f9 has the dwarves 2008-10-29 08:54:53 -02:00
README.DEBUG README.DEBUG: Add an extra step to make the instructions cut'n'exec 2017-12-14 14:15:54 -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 Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
strings.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
syscse.c dwarves: Introduce type_id_t for use with the type IDs 2019-03-11 11:44:53 -03:00

Build instructions:

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

Default is to be installed on /usr/local, see rpm spec file for
installing on other places.

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