Date: Sat, 15 May 2021 19:50:09 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 255913] devel/aws-c-common: let CMake detect -moutline-atomics correctly Message-ID: <bug-255913-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D255913 Bug ID: 255913 Summary: devel/aws-c-common: let CMake detect -moutline-atomics correctly Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: danilo@FreeBSD.org Reporter: dim@FreeBSD.org Assignee: danilo@FreeBSD.org Flags: maintainer-feedback?(danilo@FreeBSD.org) Created attachment 224980 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D224980&action= =3Dedit Let CMake detect -moutline-atomics correctly During an exp-run for llvm 12 (see bug 255570), it turned out that security/aws-c-cal does not build with clang 12.0.0 [1], at least not on am= d64: -- The C compiler identification is Clang 12.0.0 [...] -- Performing Test HAS_MOUTLINE_ATOMICS -- Performing Test HAS_MOUTLINE_ATOMICS - Success [...] FAILED: CMakeFiles/aws-c-cal.dir/source/der.c.o=20 /usr/bin/cc -DAWS_CAL_EXPORTS -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT -DHAVE_SYSCONF -Daws_c_cal_EXPORTS -I/wrkdirs/usr/ports/security/aws-c-cal/work/aws-c-cal-0.4.5/include -isyst= em /usr/local/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing= -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -Wall -Werror -Wstrict-prototypes -fno-omit-frame-pointer -pedantic -Wno-long-long -fPIC -moutline-atomics -Wgnu -Wno-gnu-zero-variadic-macro-arguments -fvisibility=3Dhidden -std=3Dgnu99 -MD -MT CMakeFiles/aws-c-cal.dir/source/= der.c.o -MF CMakeFiles/aws-c-cal.dir/source/der.c.o.d -o CMakeFiles/aws-c-cal.dir/source/der.c.o -c /wrkdirs/usr/ports/security/aws-c-cal/work/aws-c-cal-0.4.5/source/der.c cc: error: The 'x86_64' architecture does not support -moutline-atomics; fl= ag ignored [-Werror,-Woption-ignored] This port uses /usr/local/lib/cmake/AwsCFlags.cmake to detect the -moutline-atomics flag, but it does so by checking if the compiler prints an *error* when using the flag. It could be debated that CMake's check_c_compiler_flag() functionality is rather broken in that sense, as it does not exhaustively scan for warnings from the compiler. On the other hand, security/aws-c-cal compiles with -Werror, so then you ge= t an error for such warnings. Instead of hacking around it in security/aws-c-cal= , I propose to fix it in devel/aws-c-common instead, simply by adding -Werror to the HAS_MOUTLINE_ATOMICS check. This will ensure that it does *not* get enabled on x86, where it is not functional, and will still get enabled on e.g. aarch64, for which this flag= is meant. [1] http://package22.nyi.freebsd.org/data/mainamd64PR255570-default/2021-05-08_= 16h02m24s/logs/errors/aws-c-cal-0.4.5.log --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-255913-7788>