initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
Remove non-Posix use of FTW_ACTIONRETVAL
The musl implementation of nftw doesn't support the glibc extension
FTW_ACTIONRETVAL. Since none of the features of FTW_ACTIONRETVAL are
used here, just use the normal nftw return value.
Downloaded from:
https://github.com/openwrt-mirror/openwrt/blob/f22d5e25660106a48727c7aa5d1a73e4171a7987/package/devel/oprofile/patches/100-musl.patch
after I found a hint for the patch here:
http://patchwork.openembedded.org/patch/112675/
Removed unneeded patch for libop/op_events.c.
Because openwrt removed the oprofile package from their repo last week
https://github.com/openwrt-mirror/openwrt/commit/aaf46a8524e138e1673a398e8d2dd9357405b313#diff-fe14456f94abf436d997e2c01c10f3bd
I decided to put this patch into the buildroot repo instead of adding
_PATCH to oprofile.mk
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
--- a/pe_profiling/operf.cpp
+++ b/pe_profiling/operf.cpp
@@ -857,11 +857,14 @@ static int __delete_old_previous_sample_
int tflag __attribute__((unused)),
struct FTW *ftwbuf __attribute__((unused)))
{
+ int err;
+
if (remove(fpath)) {
+ err = errno;
perror("sample data removal error");
- return FTW_STOP;
+ return err;
} else {
- return FTW_CONTINUE;
+ return 0;
}
}
@@ -896,7 +899,7 @@ static void convert_sample_data(void)
return;
if (!operf_options::append) {
- int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
+ int flags = FTW_DEPTH;
errno = 0;
if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
errno != ENOENT) {
+51
View File
@@ -0,0 +1,51 @@
# memory barrier function implemented only for some architectures
config BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
bool
default y
depends on BR2_arceb || BR2_arcle || BR2_arm || BR2_armeb || \
BR2_aarch64 || BR2_aarch64_be || BR2_i386 || BR2_mips || \
BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc || \
BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
BR2_sparc || BR2_sparc64 || BR2_x86_64
config BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
bool
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
config BR2_PACKAGE_OPROFILE
bool "oprofile"
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # binutils
depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
# libpfm4 is needed on PowerPC, and requires thread support
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
select BR2_PACKAGE_POPT
select BR2_PACKAGE_BINUTILS
select BR2_PACKAGE_LIBPFM4 if BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
help
OProfile is a system-wide profiler for Linux systems,
capable of profiling all running code at low overhead.
OProfile is released under the GNU GPL.
It consists of a kernel driver and a daemon for collecting
sample data, and several post-profiling tools for turning
data into information.
OProfile leverages the hardware performance counters of the
CPU to enable profiling of a wide variety of interesting
statistics, which can also be used for basic time-spent
profiling. All code is profiled: hardware and software
interrupt handlers, kernel modules, the kernel, shared
libraries, and applications.
https://sourceforge.net/projects/oprofile/
comment "oprofile needs a toolchain w/ C++, wchar"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
comment "oprofile needs a toolchain w/ NPTL on PowerPC(64)"
depends on BR2_USE_MMU && BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+6
View File
@@ -0,0 +1,6 @@
# From http://sourceforge.net/projects/oprofile/files/oprofile/oprofile-1.4.0/
sha1 d4d7634372d18de821b33650ad0ff7392e94c6e3 oprofile-1.4.0.tar.gz
md5 ac0ff685ec9735e30d6a4d19de0efed7 oprofile-1.4.0.tar.gz
# Hash for license file:
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
+64
View File
@@ -0,0 +1,64 @@
################################################################################
#
# oprofile
#
################################################################################
OPROFILE_VERSION = 1.4.0
OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION)
OPROFILE_LICENSE = GPL-2.0+
OPROFILE_LICENSE_FILES = COPYING
OPROFILE_CPE_ID_VENDOR = maynard_johnson
OPROFILE_CONF_OPTS = \
--disable-account-check \
--enable-gui=no \
--with-kernel=$(STAGING_DIR)/usr
OPROFILE_BINARIES = \
utils/ophelp pp/opannotate pp/oparchive pp/opgprof \
pp/opreport opjitconv/opjitconv \
utils/op-check-perfevents libabi/opimport \
pe_counting/ocount pe_profiling/operf
ifeq ($(BR2_i386),y)
OPROFILE_ARCH = i386
endif
ifeq ($(BR2_mipsel),y)
OPROFILE_ARCH = mips
endif
ifeq ($(BR2_powerpc),y)
OPROFILE_ARCH = ppc
endif
ifeq ($(BR2_x86_64),y)
OPROFILE_ARCH = x86-64
endif
ifeq ($(OPROFILE_ARCH),)
OPROFILE_ARCH = $(BR2_ARCH)
endif
OPROFILE_DEPENDENCIES = popt binutils host-pkgconf
ifeq ($(BR2_PACKAGE_LIBPFM4),y)
OPROFILE_DEPENDENCIES += libpfm4
endif
ifeq ($(BR2_STATIC_LIBS),)
define OPROFILE_INSTALL_SHARED_LIBRARY
$(INSTALL) -m 755 $(@D)/libopagent/.libs/*.so* $(TARGET_DIR)/usr/lib/oprofile
endef
endif
define OPROFILE_INSTALL_TARGET_CMDS
$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/bin
$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/share/oprofile
$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/lib/oprofile
if [ -d $(@D)/events/$(OPROFILE_ARCH) ]; then \
cp -dpfr $(@D)/events/$(OPROFILE_ARCH) \
$(TARGET_DIR)/usr/share/oprofile; \
fi
$(INSTALL) -m 644 $(@D)/libregex/stl.pat $(TARGET_DIR)/usr/share/oprofile
$(INSTALL) -m 755 $(addprefix $(@D)/, $(OPROFILE_BINARIES)) $(TARGET_DIR)/usr/bin
$(OPROFILE_INSTALL_SHARED_LIBRARY)
endef
$(eval $(autotools-package))