Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1227260
Summary: | kernel build failure on ppc64le | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Than Ngo <than> |
Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 23 | CC: | dan, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | ppc64le | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-01-20 13:08:14 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1051573 |
Description
Than Ngo
2015-06-02 09:19:13 UTC
The error is not a clear kernel issue, but more a toolchain one (no 32-bit environment on ppc64le). It is related to the use of 32-bit code in 64-bit kernel, see also bug #1205236. Probably time to clean the kernel buildsystem so it is not trying to build 32-bit vdso support on pure 64-bit kernel. There is even an option for it - http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/tools/perf/Makefile.perf#n64 i created 2 solutions to fix the above issue. I attach both so you can review. 1. solution diff -Nur linux-4.0/tools/perf/config/Makefile.than linux-4.0/tools/perf/config/Makefile --- linux-4.0/tools/perf/config/Makefile.than 2015-06-02 11:58:17.525763988 +0200 +++ linux-4.0/tools/perf/config/Makefile 2015-06-02 12:31:04.898865043 +0200 @@ -642,6 +642,9 @@ CFLAGS += -DHAVE_KVM_STAT_SUPPORT endif +ifeq ($(ARCH),ppc64le) + NO_PERF_READ_VDSO32 := 1 +endif ifeq (${IS_64_BIT}, 1) ifndef NO_PERF_READ_VDSO32 $(call feature_check,compile-32) 2. solution diff --git a/kernel.spec b/kernel.spec index de76387..ad55636 100644 --- a/kernel.spec +++ b/kernel.spec @@ -351,7 +351,7 @@ Group: System Environment/Kernel License: GPLv2 and Redistributable, no modification permitted URL: http://www.kernel.org/ Version: %{rpmversion} -Release: %{pkg_release} +Release: %{pkg_release}.than # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. # SET %%nobuildarches (ABOVE) INSTEAD ExclusiveArch: %{all_x86} x86_64 ppc64 ppc64p7 s390 s390x %{arm} aarch64 ppc64le @@ -1746,8 +1746,13 @@ BuildKernel %make_target %kernel_image %{pae} BuildKernel %make_target %kernel_image %endif +%ifarch ppc64le +# no 32-bit environment on ppc64le, so disable it +%define no32bit NO_PERF_READ_VDSO32=1 +%endif + %global perf_make \ - make -s %{?cross_opts} %{?_smp_mflags} -C tools/perf V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} + make -s %{?cross_opts} %{?_smp_mflags} -C tools/perf V=1 %{?no32bit} WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} %if %{with_perf} # perf %{perf_make} DESTDIR=$RPM_BUILD_ROOT all I went with solution #2 for now so we don't have to carry a patch. Once the patch works its way upstream we can drop it. |