[edk2-devel] Make edk2 fail on Red Hat 8.0

Chen, Farrah farrah.chen at intel.com
Fri Jul 5 09:14:24 UTC 2019


Thanks!
With this patch, new error occurred in my environment:
......
make -C FMMT
make[2]: Entering directory '/home/build/fan/edk2/BaseTools/Source/C/FMMT'
gcc  -c  -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/  -MD -fshort-wchar -fno-strict-aliasing -fwrapv -fno-delete-null-pointer-checks -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -g -O2  FmmtLib.c -o FmmtLib.o
FmmtLib.c: In function 'LibFvHeaderAttributeToStr':
FmmtLib.c:2521:47: error: argument to 'sizeof' in 'strncat' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
   strncat (LocalStr, "[attributes] \n", sizeof("[attributes] \n"));
                                               ^
FmmtLib.c:2524:66: error: argument to 'sizeof' in 'strncat' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
     strncat (LocalStr, "EFI_READ_DISABLED_CAP = TRUE \n", sizeof ("EFI_READ_DISABLED_CAP = TRUE \n"));
                                                                  ^
FmmtLib.c:2528:65: error: argument to 'sizeof' in 'strncat' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
     strncat (LocalStr, "EFI_READ_ENABLED_CAP = TRUE \n", sizeof ("EFI_READ_ENABLED_CAP = TRUE \n"));
                                                                 ^
FmmtLib.c:2532:60: error: argument to 'sizeof' in 'strncat' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
     strncat (LocalStr, "EFI_READ_STATUS = TRUE \n", sizeof ("EFI_READ_STATUS = TRUE \n"));
..................


Thanks,
Fan



From: Gao, Liming
Sent: Friday, July 5, 2019 3:53 PM
To: Chen, Farrah <farrah.chen at intel.com>; devel at edk2.groups.io
Cc: Hao, Xudong <xudong.hao at intel.com>; Wei, Danmei <danmei.wei at intel.com>
Subject: RE: Make edk2 fail on Red Hat 8.0

I just send the patch to fix this issue. Can you help verify it?

From: Chen, Farrah
Sent: Friday, July 05, 2019 3:35 PM
To: Gao, Liming <liming.gao at intel.com<mailto:liming.gao at intel.com>>; devel at edk2.groups.io<mailto:devel at edk2.groups.io>
Cc: Hao, Xudong <xudong.hao at intel.com<mailto:xudong.hao at intel.com>>; Wei, Danmei <danmei.wei at intel.com<mailto:danmei.wei at intel.com>>
Subject: RE: Make edk2 fail on Red Hat 8.0

I am using the default GCC of RHEL8.0:

[root at localhost edk2]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)


Thanks,
Fan



From: Gao, Liming
Sent: Friday, July 5, 2019 3:25 PM
To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>; Chen, Farrah <farrah.chen at intel.com<mailto:farrah.chen at intel.com>>
Cc: Hao, Xudong <xudong.hao at intel.com<mailto:xudong.hao at intel.com>>; Wei, Danmei <danmei.wei at intel.com<mailto:danmei.wei at intel.com>>
Subject: RE: Make edk2 fail on Red Hat 8.0

Can you let me know your GCC compiler version?

From: devel at edk2.groups.io<mailto:devel at edk2.groups.io> [mailto:devel at edk2.groups.io] On Behalf Of Chen, Farrah
Sent: Friday, July 05, 2019 3:10 PM
To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>
Cc: Hao, Xudong <xudong.hao at intel.com<mailto:xudong.hao at intel.com>>; Wei, Danmei <danmei.wei at intel.com<mailto:danmei.wei at intel.com>>
Subject: [edk2-devel] Make edk2 fail on Red Hat 8.0

Hi,

I tried to make ovmf with the latest commit: 0a487ef96bd6d2e0ac23323adab86f9949068ed6 on Red Hat 8.0, it failed, while it succeed on Red Hat 7.6.
With commit 4b04d9d73604080a42daf737c39b98d4e1245a51 I used several days ago, it works well on both RHEL8.0 and RHEL7.6.

Steps:
git clone https://github.com/tianocore/edk2.git
cd edk2
git submodule init
git submodule update -recursive
OvmfPkg/build.sh -a X64 -n 40
...............
make -C FMMT
make[2]: Entering directory '/home/build/fan/edk2/BaseTools/Source/C/FMMT'
gcc  -c  -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/  -MD -fshort-wchar -fno-strict-aliasing -fwrapv -fno-delete-null-pointer-checks -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -g -O2  FmmtLib.c -o FmmtLib.o
FmmtLib.c: In function 'LibInitializeFvStruct':
FmmtLib.c:158:5: error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size]
     memset (Fv->FfsAttuibutes[Index].UiName, '\0', _MAX_PATH);
     ^~~~~~
FmmtLib.c: In function 'LibFvHeaderAttributeToStr':
FmmtLib.c:2521:47: error: argument to 'sizeof' in 'strncat' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
  strncat (LocalStr, "[attributes] \n", sizeof("[attributes] \n"));
                                               ^
FmmtLib.c:2524:66: error: argument to 'sizeof' in 'strncat' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
     strncat (LocalStr, "EFI_READ_DISABLED_CAP = TRUE \n", sizeof ("EFI_READ_DISABLED_CAP = TRUE \n"));
.....................

And detailed log attached.
Could anyone provide some advice?


Thanks,
Fan



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43346): https://edk2.groups.io/g/devel/message/43346
Mute This Topic: https://groups.io/mt/32315331/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20190705/7319ac65/attachment.htm>


More information about the edk2-devel-archive mailing list