Commit Graph

44 Commits

Author SHA1 Message Date
Stijn Tintel
f434643857 perf: fix build on PowerPC
Building perf's intel-pt-decoder fails on both PPC32 and PPC64:

/home/stijn/Development/OpenWrt/openwrt/staging_dir/toolchain-powerpc64_e5500_gcc-13.2.0_musl/lib/gcc/powerpc64-openwrt-linux-musl/13.2.0/../../../../powerpc64-openwrt-linux-musl/bin/ld.bfd:
/home/stijn/Development/OpenWrt/openwrt/build_dir/target-powerpc64_e5500_musl/linux-qoriq_generic/linux-6.1.86/tools/
perf-target-powerpc64_e5500_musl/perf-in.o: in function `insn_set_byte':
/home/stijn/Development/OpenWrt/openwrt/build_dir/target-powerpc64_e5500_musl/linux-qoriq_generic/linux-6.1.86/tools/perf/util/intel-pt-decoder/../../../arch/x86/include/asm/insn.h:64:
undefined reference to `__le32_to_cpu'

Add NO_AUXTRACE=1 to MAKE_FLAGS for LINUX_KARCH powerpc, which disables
build of intel-pt-decoder on both PPC32 and PPC64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-04-26 15:19:48 +03:00
Felix Fietkau
87de62dcb8 perf: fix build on linux 6.6
- use Makefile.perf to prevent overriding MAKEFLAGS
- fix path to PKG_CONFIG
- link libstdc++ statically (only used for demangling)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-03-29 15:41:16 +01:00
Javier Marcet
5ed185bfbd perf: opt-out of lto usage
This fixes building with USE_LTO enabled:

mold: error: undefined symbol: __memset
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memset_orig
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: perf_regs_load
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans15.ltrans.o:(test_dwarf_unwind__thread)
mold: error: undefined symbol: memset_erms
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memcpy_orig
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memcpy_erms
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: __memcpy
>>> referenced by <artificial>
>>>               ./tmp/ccsgR7G6.ltrans10.ltrans.o
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile.perf:670: ../openwrt/linux/tools/perf-target-x86_64_musl/perf] Error 1
make[4]: *** [Makefile.perf:238: sub-make] Error 2
make[3]: *** [Makefile:70: all] Error 2
make[2]: *** [Makefile:84: ./build_dir/target-x86_64_musl/linux-x86_64/linux-5.15.120/tools/perf-target-x86_64_musl/.built] Error 2
make[2]: Leaving directory './package/devel/perf'
time: package/devel/perf/compile#55.88#6.78#12.89
    ERROR: package/devel/perf failed to build.

Signed-off-by: Javier Marcet <javier@marcet.info>
2023-07-15 11:29:15 +02:00
Andre Heider
5c545bdb36
treewide: replace PKG_USE_MIPS16:=0 with PKG_BUILD_FLAGS:=no-mips16
Keep backwards compatibility via PKG_USE_MIPS16 for now, as this is
used in all package feeds.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-03-21 18:28:22 +01:00
Hauke Mehrtens
fcb29171bc arc770: Remove arc770 target
The arc700 target is not booting up since some time, see here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/400

It looks like there is a problem in the toolchain when using glibc.

Currently no one is working on fixing this problem, remove the target
instead. This target also does not have many users we are aware of.

If someone wants to have this target back, feel free to add a fixed
version of this target again.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-01-28 21:58:24 +01:00
Florian Fainelli
17135ae091 perf: Depend on libbfd and libopcodes when enabled
bpftool will enabled libbfd and libopcodes which gets picked up by perf
as libraries to link against. Add those missing dependencies when either
of these packages are enabled.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-01-27 20:16:57 -08:00
Rosen Penev
49bb986b62 perf: disable libzstd support
libzstd from the packages feed gets picked up. Remove it.

Fixes:

Package perf is missing dependencies for the following libraries:
libzstd.so.1

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-10-11 16:16:24 +02:00
Marek Behún
3d0fa1a012 perf: pass CFLAGS correctly
For this package CFLAGS have to be passed via EXTRA_CFLAGS.
On arm this bug causes build to fail because no -fPIC is present in CFLAGS.

Signed-off-by: Marek Behún <kabel@blackhole.sk>
2020-10-11 16:16:24 +02:00
Marek Behún
d4161798dd perf: fix building with musl when NLS is enabled
This package fails with a strange error when building with musl when NLS
is enabled. The configuration thinks that libelf is not present, even
though DEPENDS contains +libelf, because when NLS is enabled, libelf.so
depends on libintl, and the correct LDFLAGS are missing for
libintl-full. This then causes the configuration script to check for
glibc, but this fails because we are using musl.

Signed-off-by: Marek Behún <kabel@blackhole.sk>
2020-10-11 16:16:24 +02:00
Felix Fietkau
2dd26fda16 kernel: fix portability issue with perf on linux 5.4
Remove dependencies on core kernel headers in host tools used to build perf,
which break on any non-linux system

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-06-04 21:52:57 +02:00
Yangbo Lu
80f128d2aa perf: build with NO_LIBCAP=1
Build with NO_LIBCAP=1. This is to resolve build issue.

Package perf is missing dependencies for the following libraries:
libcap.so.2

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2020-04-26 21:20:47 +02:00
Rosen Penev
475a504dbc perf: Add libunwind only if selected
The depends are totally wrong. libunwind does not work with powerpc and
i386 as it needs glibc.

Instead of duplicating the platforms, just change the dependency.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-15 20:34:16 +01:00
Petr Štetiar
16ac5c4fbd perf: simplify the build process
Redirect the build output to PKG_BUILD_DIR instead of copying over
complete source code.

Build tested on following targets:

 x86/64 ar7/generic ipq40xx/generic imx6/generic ar71xx/generic
 ramips/mt7621 ramips/mt7620 sunxi/cortexa7

Run tested on imx6/apalis.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-07-17 12:16:29 +02:00
Hauke Mehrtens
1325e74e0c kernel: Remove support for kernel 3.18
No target is using kernel 3.18 anymore, remove all the generic
support for kernel 3.18.

The removed packages are depending on kernel 3.18 only and are not used on
any recent kernel.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-05-03 22:41:38 +02:00
Jo-Philipp Wich
8d13529536 perf: replace libelf1 dependency with libelf
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-01-24 12:56:11 +01:00
Felix Fietkau
bf136c637c perf: remove linux 4.4 workarounds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-07 14:53:26 +02:00
Matthias Schiffer
9bf440fcd9
perf: restrict libunwind dependency to archs that actually support libunwind
Allow building perf on uncommon targets again.

Depending on the kernel version, not all of these archs will actually use
libunwind in perf. Still, it seems simpler and less error-prone to use the
same list that is defined in the libunwind package.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-02-25 17:03:42 +01:00
Maxim Gorbachyov
006a8a063c perf: use libunwind
Without libunwind perf does not show userspace stack frames.
Tested on mvebu.

Signed-off-by: Maxim Gorbachyov <maxim.gorbachyov@gmail.com>
2018-01-27 16:46:45 +01:00
Florian Fainelli
f50079985c perf: Depend on KERNEL_PERF_EVENTS
The kernel needs to have PERF_EVENTS built otherwise we will run into
the following:

root@(none):/# perf top
perf_event_open(..., PERF_FLAG_FD_CLOEXEC) failed with unexpected error
89 (Function not implemented)
perf_event_open(..., 0) failed unexpectedly with error 89 (Function not
implemented)
Error:
The sys_perf_event_open() syscall returned with 89 (Function not
implemented) for event (cycles).
/bin/dmesg may provide additional information.
No CONFIG_PERF_EVENTS=y kernel support configured?

Make sure this functional dependency is captured.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-06-05 12:30:05 -07:00
Alexey Brodkin
5dc76a4258 perf: Disable perf for ARC770 only, enable for ARC HS38
Toolchain built for ARCv1 (read for ARC700 cores) by default has
disabled atomic ops (-mno-atomic). When we build Linux kernel for ARC770
which has LL/SC instructions and thus may handle normally atomic ops we
explicitly add "-matomic" in CFLAGS. But since user-space perf utility has
no way to extract CPU config options from Kconfig/defconfig it uses
compiler default settings.

In case of ARCv2 (read ARC HS38) atomics are enabled by default and so
perf builds perfectly fine thus reenabling perf for ARC HS38 (actually
for non-ARC700 targets).

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-05-11 00:53:05 +02:00
Felix Fietkau
c13f943d2a perf: disable build for ARC, it is currently broken
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-02 15:17:29 +02:00
Mathias Kresin
66146a223e perf: fix build with kernel 4.9
The musl workaround isn't required anymore and causes build errors with
kernel 4.9 when applied.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-03-17 08:58:50 +01:00
Felix Fietkau
412e0bbf25 perf: avoid picking up a dependency on libunwind
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-11 18:07:37 +01:00
Matthias Schiffer
376944c0ab
perf: fix build with musl on PowerPC
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-28 06:26:35 +02:00
Ralph Sennhauser
012873074f perf: drop sched_getcpu wrapper
Current musl already provides sched_getcpu

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2016-08-23 22:47:43 +02:00
Felix Fietkau
5e41c1d447 perf: prevent build from within the sdk and mark as nonshared
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:25:25 +02:00
Felix Fietkau
7eeb254cc4 treewide: replace nbd@openwrt.org with nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:42 +02:00
Dirk Neukirchen
f2220bc1fe perf: disable libcrypto dependency
upstream change: 8ee4646038e47d065d35703e3e343136c4cd42aa
fixes dependency w. Kernel 4.6

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
2016-05-19 14:12:11 +02:00
Felix Fietkau
f60cc5df9c perf: add dependency on !LINUX_3_18 to fix builds
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48720
2016-02-15 10:53:23 +00:00
Felix Fietkau
b046040bd6 perf: include asm/unistd.h instead of syscall.h to fix conflict with kernel headers
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48573
2016-01-30 20:14:59 +00:00
Felix Fietkau
bd99318c82 perf: fix strerror_r override detection, apparently part of tools/ relies on non-GNU behavior
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48221
2016-01-12 16:42:12 +00:00
Felix Fietkau
10e6d3ade9 perf: fix build errors on x86 and other platforms
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48218
2016-01-12 11:15:34 +00:00
Felix Fietkau
92b56a9aa2 perf: drop @!USE_UCLIBC from depends
perf builds fine with uClibc too

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>

SVN-Revision: 48148
2016-01-07 21:07:48 +00:00
Felix Fietkau
6314c24a04 perf: select objdump instead of the full binutils package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48071
2016-01-02 16:19:39 +00:00
Felix Fietkau
2004f415bb perf: add myself as a maintainer
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48068
2016-01-02 14:48:04 +00:00
Felix Fietkau
6467fef419 perf: fix musl compatibility
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48067
2016-01-02 14:47:57 +00:00
Felix Fietkau
d3e233f02c perf: fix parallel build support, explicitly disable more library dependencies
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48066
2016-01-02 14:47:48 +00:00
Felix Fietkau
636a22cae2 perf: build in a copy of the source dir instead of relying on make clean
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48065
2016-01-02 14:47:42 +00:00
John Crispin
4f9fcd94bd package/devel/perf: fix build for kernel 4.1
This fix contains 2 parts:
 - kernel 4.1: backport upstream patch "perf build: Do not fail on missing Build file"
 - add NO_LZMA=1 to perf MAKE_FLAGS to disable LZMA support

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>

SVN-Revision: 47338
2015-11-02 10:16:28 +00:00
Nicolas Thill
fe46689f10 packages: use $(LN) macro, make symlinks relative
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 45250
2015-04-03 00:07:43 +00:00
John Crispin
2e15b95799 perf: don't error on warnings
There are some places where there is a redundant declaration of
strlcpy() that prevents building perf otherwise.

Signed-off-by: John Szakmeister <john@szakmeister.net>

SVN-Revision: 44926
2015-03-21 21:47:48 +00:00
Nicolas Thill
4b382a440b packages: some (e)glibc fixes after r44701
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 44842
2015-03-16 12:25:06 +00:00
John Crispin
f57b53e3b0 perf: this package fails to build for !eglibc
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43531
2014-12-06 20:27:57 +00:00
Florian Fainelli
6cc4c6a3a1 devel: import perf from oldpackages
perf was in the oldpackages repository, but it makes more sense to have
it part of the default package set since we build it from the Linux
kernel sources.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 43418
2014-11-28 01:29:41 +00:00