Closed
Description
We recently switched to build with gcc 12 on RHEL (other platforms to follow) in nodejs/build#3886.
This is causing ubi81_sharedlibs_openssl111fips_x64 to fail as it builds with --error-on-warn
.
07:14:38 In file included from /opt/rh/gcc-toolset-12/root/usr/include/c++/12/string:40,
07:14:38 from /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/locale_classes.h:40,
07:14:38 from /opt/rh/gcc-toolset-12/root/usr/include/c++/12/locale:39,
07:14:38 from ../src/util-inl.h:29,
07:14:38 from ../src/node_dotenv.h:6,
07:14:38 from ../src/node_dotenv.cc:1:
07:14:38 In static member function 'static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)',
07:14:38 inlined from 'static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.h:423:21,
07:14:38 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.tcc:532:22,
07:14:38 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.h:2171:19,
07:14:38 inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.h:2196:22,
07:14:38 inlined from 'void node::Dotenv::ParseContent(std::string_view)' at ../src/node_dotenv.cc:164:35:
07:14:38 /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/char_traits.h:431:56: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
07:14:38 431 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
07:14:38 | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
07:14:38 cc1plus: all warnings being treated as errors
07:14:38 make[2]: *** [libnode.target.mk:445: /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode/src/node_dotenv.o] Error 1