Buildresult: linus/arm64-allmodconfig/arm64-gcc11 built on Sep 22 2021, 15:12
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Sep 22 2021, 15:12
Duration:
0:40:42.792421
Builder:
blade46
Revision:
qnx4: work around gcc false positive warning bug (
d5f6545934c47e97c0b48a645418e877b452a992)
Target:
linus/arm64-allmodconfig/arm64-gcc11
Branch:
linus
Compiler:
arm64-gcc11
(aarch64-linux-gcc (GCC) 11.1.0 / GNU ld (GNU Binutils) 2.36.1)
Config:
allmodconfig
(
download
)
Log:
Download original
Possible warnings (6)
scripts/dtc/include-prefixes/arm/bcm2711-rpi-4-b.dts:220.10-231.4: Warning (pci_device_reg): /scb/pcie@7d500000/pci@1,0: PCI unit address format error, expected "0,0" scripts/dtc/include-prefixes/arm/bcm2711-rpi-4-b.dts:220.10-231.4: Warning (pci_device_reg): /scb/pcie@7d500000/pci@1,0: PCI unit address format error, expected "0,0" arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space
Full Log
# git rev-parse -q --verify d5f6545934c47e97c0b48a645418e877b452a992^{commit} d5f6545934c47e97c0b48a645418e877b452a992 already have revision, skipping fetch # git checkout -q -f -B kisskb d5f6545934c47e97c0b48a645418e877b452a992 # git clean -qxdf # < git log -1 # commit d5f6545934c47e97c0b48a645418e877b452a992 # Author: Linus Torvalds <torvalds@linux-foundation.org> # Date: Mon Sep 20 10:26:21 2021 -0700 # # qnx4: work around gcc false positive warning bug # # In commit b7213ffa0e58 ("qnx4: avoid stringop-overread errors") I tried # to teach gcc about how the directory entry structure can be two # different things depending on a status flag. It made the code clearer, # and it seemed to make gcc happy. # # However, Arnd points to a gcc bug, where despite using two different # members of a union, gcc then gets confused, and uses the size of one of # the members to decide if a string overrun happens. And not necessarily # the rigth one. # # End result: with some configurations, gcc-11 will still complain about # the source buffer size being overread: # # fs/qnx4/dir.c: In function 'qnx4_readdir': # fs/qnx4/dir.c:76:32: error: 'strnlen' specified bound [16, 48] exceeds source size 1 [-Werror=stringop-overread] # 76 | size = strnlen(name, size); # | ^~~~~~~~~~~~~~~~~~~ # fs/qnx4/dir.c:26:22: note: source object declared here # 26 | char de_name; # | ^~~~~~~ # # because gcc will get confused about which union member entry is actually # getting accessed, even when the source code is very clear about it. Gcc # internally will have combined two "redundant" pointers (pointing to # different union elements that are at the same offset), and takes the # size checking from one or the other - not necessarily the right one. # # This is clearly a gcc bug, but we can work around it fairly easily. The # biggest thing here is the big honking comment about why we do what we # do. # # Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c6 # Reported-and-tested-by: Arnd Bergmann <arnd@kernel.org> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 d5f6545934c47e97c0b48a645418e877b452a992 # < make -s -j 32 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- allmodconfig # < make -s -j 32 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 32 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 32 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- /kisskb/src/scripts/dtc/include-prefixes/arm/bcm2711-rpi-4-b.dts:220.10-231.4: Warning (pci_device_reg): /scb/pcie@7d500000/pci@1,0: PCI unit address format error, expected "0,0" /kisskb/src/scripts/dtc/include-prefixes/arm/bcm2711-rpi-4-b.dts:220.10-231.4: Warning (pci_device_reg): /scb/pcie@7d500000/pci@1,0: PCI unit address format error, expected "0,0" /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi:464.3-52: Warning (pci_device_reg): /pcie@f8000000/pcie@0,0:reg: PCI reg address is not configuration space /kisskb/src/arch/arm64/kvm/hyp/nvhe/Makefile:58: FORCE prerequisite is missing Completed OK # rm -rf /kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 # Build took: 0:40:42.792421
© Michael Ellerman 2006-2018.