Configure GCC with --enable-initfini-array [BZ #27945]
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 9 Jun 2021 12:29:16 +0000 (05:29 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 5 Nov 2021 22:30:02 +0000 (15:30 -0700)
Starting from GCC 12, the .init_array and .fini_array sections are enabled
unconditionally by

commit 13a39886940331149173b25d6ebde0850668d8b9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 8 16:09:24 2021 -0700

    Always enable DT_INIT_ARRAY/DT_FINI_ARRAY on Linux

configure GCC with --enable-initfini-array to enable them when using GCC
release branches.

Fixes BZ #27945.

scripts/build-many-glibcs.py

index 30b8abdc5835569b6bba01fc3ecbd3b5442cbd19..e8b9b213ca69fc1d81ea1aa2cdd3aaefad6f8745 100755 (executable)
@@ -1447,6 +1447,7 @@ class Config(object):
         # removed once glibc no longer supports building with older
         # GCC versions).
         cfg_opts = list(self.gcc_cfg)
+        cfg_opts += ['--enable-initfini-array']
         cfg_opts += ['--disable-libssp', '--disable-libcilkrts']
         host_libs = self.ctx.host_libraries_installdir
         cfg_opts += ['--with-gmp=%s' % host_libs,