diff options
Diffstat (limited to '0001-Enable-LTO-By-Default.patch')
-rw-r--r-- | 0001-Enable-LTO-By-Default.patch | 625 |
1 files changed, 0 insertions, 625 deletions
diff --git a/0001-Enable-LTO-By-Default.patch b/0001-Enable-LTO-By-Default.patch deleted file mode 100644 index bac5897..0000000 --- a/0001-Enable-LTO-By-Default.patch +++ /dev/null @@ -1,625 +0,0 @@ -From 2a24fbc1bb28764c3577f3a9e108614cd2e108b2 Mon Sep 17 00:00:00 2001 -From: wangchunyang <wangchunyang15@huawei.com> -Date: Fri, 26 Jul 2024 12:54:56 +0800 -Subject: [PATCH] Enable LTO By Default - ---- - brp-strip-lto | 17 ++ - lto_flag | 5 + - lto_white_list | 536 +++++++++++++++++++++++++++++++++++++++++++++++++ - macros | 6 +- - 4 files changed, 563 insertions(+), 1 deletion(-) - create mode 100644 brp-strip-lto - create mode 100755 lto_flag - create mode 100644 lto_white_list - -diff --git a/brp-strip-lto b/brp-strip-lto -new file mode 100644 -index 0000000..3df672a ---- /dev/null -+++ b/brp-strip-lto -@@ -0,0 +1,17 @@ -+#!/usr/bin/sh -+# If using normal root, avoid changing anything. -+if [ -z "$RPM_BUILD_ROOT" ] || [ "$RPM_BUILD_ROOT" = "/" ]; then -+ exit 0 -+fi -+ -+STRIP=${1:-strip} -+NCPUS=${RPM_BUILD_NCPUS:-1} -+ -+case `uname -a` in -+Darwin*) exit 0 ;; -+*) ;; -+esac -+ -+# Strip ELF binaries -+find "$RPM_BUILD_ROOT" -type f -name '*.[ao]' \! -regex "$RPM_BUILD_ROOT/*usr/lib/debug.*" -print0 | \ -+ eu-elfclassify --not-program --not-library --not-linux-kernel-module --stdin0 --print0 | xargs -0 -r -P$NCPUS -n32 sh -c "$STRIP -p -R .gnu.lto_* -R .gnu.debuglto_* -N __gnu_lto_v1 \"\$@\"" ARG0 -diff --git a/lto_flag b/lto_flag -new file mode 100755 -index 0000000..53e3adb ---- /dev/null -+++ b/lto_flag -@@ -0,0 +1,5 @@ -+#!/bin/sh -+current_spec=`cat /.build.command` -+if grep -Fxq "$current_spec" "/lib/rpm/openEuler/lto_white_list"; then -+ echo "-flto -ffat-lto-objects" -+fi -diff --git a/lto_white_list b/lto_white_list -new file mode 100644 -index 0000000..780be19 ---- /dev/null -+++ b/lto_white_list -@@ -0,0 +1,536 @@ -+adcli.spec -+aide.spec -+amanda.spec -+annobin.spec -+apr.spec -+argon2.spec -+at.spec -+atf.spec -+attr.spec -+audit.spec -+augeas.spec -+authselect.spec -+autogen.spec -+avahi.spec -+babeltrace.spec -+bind.spec -+bison.spec -+bolt.spec -+booth.spec -+brotli.spec -+byacc.spec -+bzip2.spec -+cairomm.spec -+certmonger.spec -+cfitsio.spec -+CharLS.spec -+check.spec -+chkconfig.spec -+chrony.spec -+chrpath.spec -+ck.spec -+clamav.spec -+clevis.spec -+clucene.spec -+cmake.spec -+cockpit.spec -+courier-unicode.spec -+cppcheck.spec -+cpp-httplib.spec -+cracklib.spec -+createrepo_c.spec -+cronie.spec -+cryptsetup.spec -+cups.spec -+cups-filters.spec -+curl.spec -+dav1d.spec -+dbus-broker.spec -+dbus-glib.spec -+dbxtool.spec -+dhcp.spec -+dialog.spec -+ding-libs.spec -+discount.spec -+dos2unix.spec -+dosfstools.spec -+double-conversion.spec -+dovecot.spec -+doxygen.spec -+dropwatch.spec -+drpm.spec -+d-spy.spec -+dwz.spec -+e2fsprogs.spec -+enca.spec -+entr.spec -+environment-modules.spec -+erlang-sd_notify.spec -+espeak-ng.spec -+ethtool.spec -+exempi.spec -+exiv2.spec -+expat.spec -+findutils.spec -+flac.spec -+flatbuffers.spec -+flex.spec -+fmt.spec -+fping.spec -+freetype.spec -+freexl.spec -+fribidi.spec -+gawk.spec -+gc.spec -+gdb.spec -+gdbm.spec -+gdisk.spec -+GeoIP.spec -+geos.spec -+gettext.spec -+ghostscript.spec -+git.spec -+gjs.spec -+glade.spec -+glib-networking.spec -+glm.spec -+glslang.spec -+glusterfs.spec -+gmp.spec -+gnome-autoar.spec -+gnupg2.spec -+gobject-introspection.spec -+gperftools.spec -+GraphicsMagick.spec -+graphite2.spec -+graphviz.spec -+greatsql.spec -+grep.spec -+groff.spec -+grubby.spec -+gsl.spec -+gsm.spec -+gtest.spec -+gzip.spec -+harfbuzz.spec -+hdf.spec -+hdf5.spec -+httpd.spec -+http-parser.spec -+hwloc.spec -+ibus-libpinyin.spec -+icu.spec -+ilmbase.spec -+Imath.spec -+iniparser.spec -+ipcalc.spec -+iproute.spec -+iptables.spec -+isomd5sum.spec -+jansson.spec -+jbig2dec.spec -+jbigkit.spec -+jemalloc.spec -+jimtcl.spec -+jose.spec -+jq.spec -+json-c.spec -+jsoncpp.spec -+Judy.spec -+kbd.spec -+krb5.spec -+kyua.spec -+lame.spec -+lcms2.spec -+libabigail.spec -+libadwaita.spec -+libaec.spec -+libarchive.spec -+libart_lgpl.spec -+libass.spec -+libatomic_ops.spec -+libb2.spec -+libbsd.spec -+libcap.spec -+libcap-ng.spec -+libcdio.spec -+libcdio-paranoia.spec -+libcomps.spec -+libconfuse.spec -+libcue.spec -+libdatrie.spec -+libdbi.spec -+libdnf.spec -+libdrm.spec -+libdwarf.spec -+libEMF.spec -+libev.spec -+libevent.spec -+libffado.spec -+libfprint.spec -+libgexiv2.spec -+libgit2.spec -+libglvnd.spec -+libgta.spec -+libhandy.spec -+libidn.spec -+libidn2.spec -+libiscsi.spec -+libisoburn.spec -+libjpeg-turbo.spec -+libkcapi.spec -+libkeepalive.spec -+libldb.spec -+liblouis.spec -+libmaxminddb.spec -+libmbim.spec -+libmd.spec -+libmemcached.spec -+libmetalink.spec -+libmodplug.spec -+libmodulemd.spec -+libnftnl.spec -+libnma.spec -+libnvme.spec -+libogg.spec -+libopenraw.spec -+libpinyin.spec -+libpipeline.spec -+libplist.spec -+libpwquality.spec -+libqb.spec -+libquvi.spec -+librabbitmq.spec -+libraqm.spec -+librdkafka.spec -+librepo.spec -+libreswan.spec -+librevenge.spec -+libsamplerate.spec -+libseccomp.spec -+libsemanage.spec -+libserf.spec -+libsexy.spec -+libshumate.spec -+libsndfile.spec -+libsodium.spec -+libsolv.spec -+libspectre.spec -+libspiro.spec -+libssh.spec -+libssh2.spec -+libtalloc.spec -+libtasn1.spec -+libtdb.spec -+libtevent.spec -+libtiff.spec -+libunwind.spec -+libusb.spec -+libusbmuxd.spec -+libuser.spec -+libutempter.spec -+libuv.spec -+libvirt.spec -+libvirt-python.spec -+libvorbis.spec -+libwacom.spec -+libwbxml.spec -+libx86emu.spec -+libyaml.spec -+libyubikey.spec -+libzip.spec -+lilv.spec -+lldb.spec -+lmdb.spec -+logrotate.spec -+lshw.spec -+lsof.spec -+lua-expat.spec -+lua-filesystem.spec -+lua-lpeg.spec -+luksmeta.spec -+lzip.spec -+lzo.spec -+m2crypto.spec -+m4.spec -+malcontent.spec -+man-db.spec -+mcpp.spec -+mdadm.spec -+mecab.spec -+metis.spec -+mksh.spec -+mod_auth_openidc.spec -+mod_http2.spec -+mokutil.spec -+mongo-c-driver.spec -+mozjs102.spec -+mpfr.spec -+mpich.spec -+mysql.spec -+nasm.spec -+netcf.spec -+nethogs.spec -+netpbm.spec -+net-snmp.spec -+newt.spec -+nfs-utils.spec -+nftables.spec -+nghttp2.spec -+ninja-build.spec -+nodejs.spec -+npth.spec -+nspr.spec -+nss_wrapper.spec -+nss-mdns.spec -+nss-pam-ldapd.spec -+nss-pem.spec -+ntp.spec -+numpy.spec -+ocl-icd.spec -+oddjob.spec -+oniguruma.spec -+opencc.spec -+OpenEXR.spec -+openhpi.spec -+open-isns.spec -+openmpi.spec -+openscap.spec -+opensp.spec -+openssh.spec -+openvpn.spec -+openvswitch.spec -+p11-kit.spec -+pacemaker.spec -+pam_krb5.spec -+pam_wrapper.spec -+pango.spec -+passwd.spec -+patchelf.spec -+patchutils.spec -+pavucontrol.spec -+pcre2.spec -+perl-autovivification.spec -+perl-B-COW.spec -+perl-BSD-Resource.spec -+perl-Class-XSAccessor.spec -+perl-Clone.spec -+perl-Compress-Bzip2.spec -+perl-Compress-Raw-Bzip2.spec -+perl-Compress-Raw-Zlib.spec -+perl-Crypt-DES.spec -+perl-Crypt-IDEA.spec -+perl-Curses.spec -+perl-Data-Dumper.spec -+perl-Data-UUID.spec -+perl-DateTime.spec -+perl-DB_File.spec -+perl-DBD-MariaDB.spec -+perl-DBD-MySQL.spec -+perl-DBD-Pg.spec -+perl-DBD-SQLite.spec -+perl-Devel-CallChecker.spec -+perl-Devel-Caller.spec -+perl-Devel-LexAlias.spec -+perl-Digest-MD5.spec -+perl-Digest-SHA.spec -+perl-Digest-SHA1.spec -+perl-Digest-SHA3.spec -+perl-Encode-EUCJPASCII.spec -+perl-Encode-JIS2K.spec -+perl-FCGI.spec -+perl-Filter.spec -+perl-GD.spec -+perl-Glib.spec -+perl-GSSAPI.spec -+perl-HTML-Parser.spec -+perl-IO-Tty.spec -+perl-IPC-SysV.spec -+perl-libintl-perl.spec -+perl-List-MoreUtils-XS.spec -+perl-Math-BigInt-FastCalc.spec -+perl-MIME-Base64.spec -+perl-NetAddr-IP.spec -+perl-Package-Stash-XS.spec -+perl-PerlIO-utf8_strict.spec -+perl-PkgConfig-LibPkgConf.spec -+perl-Scalar-List-Utils.spec -+perl-Socket.spec -+perl-Socket6.spec -+perl-Storable.spec -+perl-Sub-Identify.spec -+perl-Sub-Name.spec -+perl-Syntax-Keyword-Try.spec -+perl-Sys-CPU.spec -+perl-Sys-MemInfo.spec -+perl-Sys-Syslog.spec -+perl-TermReadKey.spec -+perl-Test-LeakTrace.spec -+perl-Text-Soundex.spec -+perl-threads-shared.spec -+perl-Time-HiRes.spec -+perl-Unicode-Collate.spec -+perl-Unicode-LineBreak.spec -+perl-Unicode-Normalize.spec -+perl-XML-LibXSLT.spec -+perl-YAML-LibYAML.spec -+phonon.spec -+pigz.spec -+pipewire.spec -+pkgconf.spec -+pngquant.spec -+poco.spec -+polkit-pkla-compat.spec -+poppler.spec -+popt.spec -+postgresql.spec -+postgresql-odbc.spec -+procenv.spec -+proj.spec -+protobuf2.spec -+protobuf-c.spec -+pulseaudio.spec -+pycairo.spec -+pyparted.spec -+PyQt4.spec -+python3.spec -+python-argon2-cffi-bindings.spec -+python-bcrypt.spec -+python-cffi.spec -+python-cheetah.spec -+python-ethtool.spec -+python-greenlet.spec -+python-kiwisolver.spec -+python-lazy-object-proxy.spec -+python-markupsafe.spec -+python-netifaces.spec -+python-pillow.spec -+python-psycopg2.spec -+python-pycryptodomex.spec -+python-pycurl.spec -+python-pymongo.spec -+python-pynacl.spec -+python-pyrsistent.spec -+python-simplejson.spec -+python-systemd.spec -+python-urwid.spec -+python-zope-interface.spec -+python-zstandard.spec -+pyxattr.spec -+qpid-proton.spec -+qrencode.spec -+qscintilla.spec -+qt6-qttools.spec -+quota.spec -+raptor2.spec -+rcs.spec -+realmd.spec -+recode.spec -+rhash.spec -+rpm.spec -+rrdtool.spec -+rsync.spec -+rsyslog.spec -+ruby.spec -+ruby-augeas.spec -+rubygem-bcrypt.spec -+rubygem-bindex.spec -+rubygem-bootsnap.spec -+rubygem-ffi.spec -+rubygem-hiredis.spec -+rubygem-idn.spec -+rubygem-msgpack.spec -+rubygem-nio4r.spec -+rubygem-nokogiri.spec -+rubygem-pg.spec -+rubygem-racc.spec -+rubygem-rdiscount.spec -+rubygem-redcarpet.spec -+rubygem-RedCloth.spec -+rubygem-regexp_property_values.spec -+rubygem-ruby-shadow.spec -+rubygem-sqlite3.spec -+rubygem-thin.spec -+rubygem-unf_ext.spec -+rubygem-websocket-driver.spec -+rust.spec -+satyr.spec -+sbc.spec -+sendmail.spec -+setools.spec -+sg3_utils.spec -+slang.spec -+snappy.spec -+socat.spec -+socket_wrapper.spec -+softhsm.spec -+sox.spec -+soxr.spec -+squid.spec -+sratom.spec -+srt.spec -+sscg.spec -+strace.spec -+subunit.spec -+swtpm.spec -+symlinks.spec -+sysbench.spec -+sysfsutils.spec -+sysprof.spec -+sysstat.spec -+systemd.spec -+taglib.spec -+tang.spec -+tar.spec -+tcl.spec -+tclx.spec -+tcp_wrappers.spec -+tcsh.spec -+teckit.spec -+telepathy-glib.spec -+tigervnc.spec -+time.spec -+timedatex.spec -+tipcutils.spec -+tokyocabinet.spec -+tpm2-tools.spec -+ttembed.spec -+ub-dhcp.spec -+uchardet.spec -+uid_wrapper.spec -+unbound.spec -+units.spec -+unrtf.spec -+unzip.spec -+uriparser.spec -+usbguard.spec -+userspace-rcu.spec -+ustr.spec -+utf8proc.spec -+util-linux.spec -+uuid.spec -+varnish.spec -+vid.stab.spec -+vino.spec -+virt-what.spec -+volume_key.spec -+wget.spec -+wxGTK3.spec -+xcb-util.spec -+xcb-util-image.spec -+xcb-util-keysyms.spec -+xcb-util-wm.spec -+xcb-util-xrm.spec -+xdelta.spec -+xmlstarlet.spec -+xmlto.spec -+xorg-x11-server.spec -+xorg-x11-xauth.spec -+xxhash.spec -+yajl.spec -+yelp.spec -+ykpers.spec -+zenity.spec -+zeromq.spec -+zstd.spec -+ -diff --git a/macros b/macros -index 3cd2655..b3fcdb5 100644 ---- a/macros -+++ b/macros -@@ -173,6 +173,7 @@ - %__brp_ldconfig /usr/lib/rpm/brp-ldconfig - %__brp_compress /usr/lib/rpm/brp-compress - %__brp_strip /usr/lib/rpm/brp-strip %{__strip} -+%__brp_strip_lto /usr/lib/rpm/brp-strip-lto %{__strip} - %__brp_strip_comment_note /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} - %__brp_strip_static_archive /usr/lib/rpm/brp-strip-static-archive %{__strip} - %__brp_python_bytecompile /usr/lib/rpm/brp-python-bytecompile "%{__python}" "%{?_python_bytecompile_errors_terminate_build}" "%{?_python_bytecompile_extra}" -@@ -185,6 +186,7 @@ - %{?__brp_strip} \ - %{?__brp_strip_comment_note} \ - } \ -+ [ "%{_lto_cflags}"x != x ] && %{?__brp_strip_lto} \ - %{?__brp_strip_static_archive} \ - %{?py_auto_byte_compile:%{?__brp_python_bytecompile}} \ - %{?__brp_python_hardlink} \ -@@ -261,7 +263,9 @@ - %_ld_as_needed 1 - %_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - --%_general_options -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] -+%_get_lto_cflags %(/lib/rpm/openEuler/lto_flag) -+%_lto_cflags %{_get_lto_cflags} -+%_general_options -O2 %{_lto_cflags} -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] - %_warning_options -Wall -Werror=format-security - %_preprocessor_defines -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS - --- -2.43.0 - |