summaryrefslogtreecommitdiff
path: root/0001-Enable-LTO-By-Default.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-Enable-LTO-By-Default.patch')
-rw-r--r--0001-Enable-LTO-By-Default.patch625
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
-