Go to file
Arnaldo Carvalho de Melo 0fb727166a pfunct: Strip inlines in the code generated for --compile
If we have:

inline void process_adjtimex_modes(const struct __kernel_timex  * txc, s32 * time_tai)
{
}

And any other struct receiving as a parameter pointers to 'struct
__kerne_timex', then the source file with the above inline, since it
doesn't have any inline expansion, i.e. 'pfunct --compile' generates
just empty function bodies, the types won't be included in the resulting
.o.

Since the original file has the expansions, type types will be there and
thus we will not be able to compare those types, so ask for any 'inline'
to be stripped, so that we keep those types and 'fullcircle' can do its
work.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-04-16 15:00:44 -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 fprintf: Allow suppressing the inferred __attribute__((__packed__)) 2019-04-15 15:01:53 -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
CMakeLists.txt libbpf: Build as PIC and statically link into libdwarves 2019-02-19 10:21:29 -03:00
COPYING [LICENSE]: Add COPYING file and add missing license info on some files 2007-12-17 14:15:42 -02: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
README [CMAKE]: Make the default install prefix be /usr/local 2007-04-19 18:01:47 -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 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
btf_encoder.c dwarf_loader: Use DWARF recommended uniform bit offset scheme 2019-03-29 15:55:37 -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 dwarf_loader: Use DWARF recommended uniform bit offset scheme 2019-03-29 15:55:37 -03:00
btfdiff fprintf: Allow suppressing the inferred __attribute__((__packed__)) 2019-04-15 15:01:53 -03:00
codiff.c codiff: Fix comparision of multi-cu against single-cu files 2019-04-11 16:38:51 -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 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: Record CU's endianness in dwarf/btf/ctf loaders 2019-03-29 15:55:37 -03:00
ctfdwdiff ctfdwdiff: Don't ask for variables and inline expansions in pfunct 2009-03-31 19:21:46 -03:00
ctracer.c tag: Introduce tag__is_pointer_to() 2019-04-05 15:28:55 -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 core: Allow the loaders to advertise features they have 2019-04-15 14:45:27 -03:00
dwarves.c core: Use unnatural alignment of struct embedded in another to infer __packed__ 2019-04-15 15:51:16 -03:00
dwarves.h pfunct: Strip inlines in the code generated for --compile 2019-04-16 15:00:44 -03:00
dwarves_emit.c emit: Emit the types for inline structs defined in pointer members 2019-04-16 14:47:53 -03:00
dwarves_emit.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -03:00
dwarves_fprintf.c pfunct: Strip inlines in the code generated for --compile 2019-04-16 15:00:44 -03:00
dwarves_reorganize.c reorganize: Introduce class__for_each_member_from_safe() 2019-04-05 16:16:16 -03:00
dwarves_reorganize.h Adopt SPDX-License-Identifier 2019-01-18 15:41:48 -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
fullcircle fullcircle: Check that we found the CFLAGS 2019-04-16 14:00:01 -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
pahole.c fprintf: Allow suppressing the inferred __attribute__((__packed__)) 2019-04-15 15:01:53 -03:00
pdwtags.c core: Allow the loaders to advertise features they have 2019-04-15 14:45:27 -03:00
pfunct.c pfunct: Strip inlines in the code generated for --compile 2019-04-16 15:00:44 -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
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

README

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