Buildresult: powerpc-next/arm64-defconfig/arm64-gcc5 built on Aug 10 2018, 22:59
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Aug 10 2018, 22:59
Duration:
0:01:41.837534
Builder:
ka4
Revision:
powerpc/uaccess: Enable get_user(u64, *p) on 32-bit (
f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca)
Target:
powerpc-next/arm64-defconfig/arm64-gcc5
Branch:
powerpc-next
Compiler:
arm64-gcc5
(aarch64-linux-gcc.br_real (Buildroot 2016.11-git-00613-ge98b4dd) 5.4.0)
Config:
defconfig
(
download
)
Log:
Download original
Possible warnings (1)
<stdin>:1335:2: warning: #warning syscall rseq not implemented [-Wcpp]
Full Log
# git rev-parse -q --verify f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca^{commit} f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca already have revision, skipping fetch # git checkout -q -f -B kisskb f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca # git clean -qxdf # < git log -1 # commit f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca # Author: Michael Ellerman <mpe@ellerman.id.au> # Date: Tue Jul 10 16:20:56 2018 +1000 # # powerpc/uaccess: Enable get_user(u64, *p) on 32-bit # # Currently if you build a 32-bit powerpc kernel and use get_user() to # load a u64 value it will fail to build with eg: # # kernel/rseq.o: In function `rseq_get_rseq_cs': # kernel/rseq.c:123: undefined reference to `__get_user_bad' # # This is hitting the check in __get_user_size() that makes sure the # size we're copying doesn't exceed the size of the destination: # # #define __get_user_size(x, ptr, size, retval) # do { # retval = 0; # __chk_user_ptr(ptr); # if (size > sizeof(x)) # (x) = __get_user_bad(); # # Which doesn't immediately make sense because the size of the # destination is u64, but it's not really, because __get_user_check() # etc. internally create an unsigned long and copy into that: # # #define __get_user_check(x, ptr, size) # ({ # long __gu_err = -EFAULT; # unsigned long __gu_val = 0; # # The problem being that on 32-bit unsigned long is not big enough to # hold a u64. We can fix this with a trick from hpa in the x86 code, we # statically check the type of x and set the type of __gu_val to either # unsigned long or unsigned long long. # # Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> # < /opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux-gcc --version # < git log --format=%s --max-count=1 f7a6947cd49b7ff4e03f1b4f7e7b223003d752ca # < make -s -j 40 ARCH=arm64 O=/kisskb/build/powerpc-next_arm64-defconfig_arm64 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- defconfig # make -s -j 40 ARCH=arm64 O=/kisskb/build/powerpc-next_arm64-defconfig_arm64 CROSS_COMPILE=/opt/cross/kisskb/br-aarch64-glibc-2016.08-613-ge98b4dd/bin/aarch64-linux- arch/arm64/Makefile:27: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum arch/arm64/Makefile:40: LSE atomics not supported by binutils <stdin>:1335:2: warning: #warning syscall rseq not implemented [-Wcpp] Completed OK # rm -rf /kisskb/build/powerpc-next_arm64-defconfig_arm64 # Build took: 0:01:41.837534
© Michael Ellerman 2006-2018.