2021-01-06 20:47:04 +01:00
|
|
|
config BR2_PACKAGE_PLY_ARCH_SUPPORTS
|
|
|
|
bool
|
|
|
|
default y if BR2_aarch64
|
|
|
|
default y if BR2_arm
|
|
|
|
default y if BR2_powerpc
|
|
|
|
default y if BR2_x86_64
|
|
|
|
|
2021-02-14 09:22:16 +01:00
|
|
|
comment "ply needs a toolchain w/ dynamic library, headers >= 4.14"
|
package/ply: needs dynamic library
ply builds and installs a library. Some objects that go in that library
are tagged with a 'section' attribute (excerpt):
__attribute__((section("providers")))
Later on, it references the bounds of that section, with the canonical
__start and __stop markers, which will eventually be created by the
linker:
extern struct provider __start_providers;
extern struct provider __stop_providers;
Sections only exists in an ELF file, and a static library id not an ELF.
So, when creating a static library, the markers are not created. Thus,
when linking the final executable, the link fails because of missing
symbols:
.../powerpc-buildroot-linux-uclibc/bin/ld: ../libply/.libs/libply.a(libply_la-provider.o): in function `provider_get':
provider.c:(.text+0xe): undefined reference to `__start_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x12): undefined reference to `__stop_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x2a): undefined reference to `__start_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x32): undefined reference to `__stop_providers'
So, conceptually, ply can not build in static-only.
Fixes:
- http://autobuild.buildroot.net/results/3a586241d37614b644ff6c4674ae28df2b22fdf8
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-02-13 20:05:23 +01:00
|
|
|
depends on BR2_PACKAGE_PLY_ARCH_SUPPORTS
|
|
|
|
depends on BR2_USE_MMU
|
2021-02-14 09:22:16 +01:00
|
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 || BR2_STATIC_LIBS
|
package/ply: needs dynamic library
ply builds and installs a library. Some objects that go in that library
are tagged with a 'section' attribute (excerpt):
__attribute__((section("providers")))
Later on, it references the bounds of that section, with the canonical
__start and __stop markers, which will eventually be created by the
linker:
extern struct provider __start_providers;
extern struct provider __stop_providers;
Sections only exists in an ELF file, and a static library id not an ELF.
So, when creating a static library, the markers are not created. Thus,
when linking the final executable, the link fails because of missing
symbols:
.../powerpc-buildroot-linux-uclibc/bin/ld: ../libply/.libs/libply.a(libply_la-provider.o): in function `provider_get':
provider.c:(.text+0xe): undefined reference to `__start_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x12): undefined reference to `__stop_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x2a): undefined reference to `__start_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x32): undefined reference to `__stop_providers'
So, conceptually, ply can not build in static-only.
Fixes:
- http://autobuild.buildroot.net/results/3a586241d37614b644ff6c4674ae28df2b22fdf8
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-02-13 20:05:23 +01:00
|
|
|
|
2021-01-06 20:47:04 +01:00
|
|
|
config BR2_PACKAGE_PLY
|
|
|
|
bool "ply"
|
|
|
|
depends on BR2_PACKAGE_PLY_ARCH_SUPPORTS
|
|
|
|
depends on BR2_USE_MMU # fork()
|
2021-01-26 20:16:08 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 # BPF_JLT
|
package/ply: needs dynamic library
ply builds and installs a library. Some objects that go in that library
are tagged with a 'section' attribute (excerpt):
__attribute__((section("providers")))
Later on, it references the bounds of that section, with the canonical
__start and __stop markers, which will eventually be created by the
linker:
extern struct provider __start_providers;
extern struct provider __stop_providers;
Sections only exists in an ELF file, and a static library id not an ELF.
So, when creating a static library, the markers are not created. Thus,
when linking the final executable, the link fails because of missing
symbols:
.../powerpc-buildroot-linux-uclibc/bin/ld: ../libply/.libs/libply.a(libply_la-provider.o): in function `provider_get':
provider.c:(.text+0xe): undefined reference to `__start_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x12): undefined reference to `__stop_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x2a): undefined reference to `__start_providers'
.../powerpc-buildroot-linux-uclibc/bin/ld: provider.c:(.text+0x32): undefined reference to `__stop_providers'
So, conceptually, ply can not build in static-only.
Fixes:
- http://autobuild.buildroot.net/results/3a586241d37614b644ff6c4674ae28df2b22fdf8
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-02-13 20:05:23 +01:00
|
|
|
depends on !BR2_STATIC_LIBS
|
2021-01-06 20:47:04 +01:00
|
|
|
help
|
|
|
|
ply is a light-weight dynamic tracer for Linux. By means of
|
|
|
|
using the BPF it can attach probes to the linux kernel
|
|
|
|
(e. g. kprobes).
|
|
|
|
|
|
|
|
It's a small alternative to LLVM based tracers for embedded
|
|
|
|
systems.
|
|
|
|
|
|
|
|
When using debugfs needs to be mounted on /sys/kernel/debug.
|
|
|
|
|
|
|
|
https://wkz.github.io/ply/
|