Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master sorcery by Ismael Luceno (f16254798e271535699be137583316abf35a81d7)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Ismael Luceno <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master sorcery by Ismael Luceno (f16254798e271535699be137583316abf35a81d7)
  • Date: Mon, 19 Aug 2019 16:47:07 +0000

GIT changes to master sorcery by Ismael Luceno <ismael AT sourcemage.org>:

ChangeLog | 7 +++++++
build | 4 +++-
install | 35 +++++++++++++++--------------------
usr/sbin/sorcery | 2 ++
var/lib/sorcery/modules/libsorcery | 7 ++++++-
5 files changed, 33 insertions(+), 22 deletions(-)

New commits:
commit f16254798e271535699be137583316abf35a81d7
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

install: Remove install__find_for_log

commit 1a40aa067b4c00319b1cde730be56a0ae2b05b54
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

sorcery, libsorcery: Add nosepcode link-time optimization

Effect: LDFLAGS+=" -Wl,-znoseparate-code"

commit 1b5888b953dd5c61437c51a89fe9a7f13c50df9b
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>

build: Optimize build__find_non_volatile

diff --git a/ChangeLog b/ChangeLog
index 1ce9efb..a6f3fda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-08-18 Ismael Luceno <ismael AT sourcemage.org>
+ * sorcery, libsorcery: Added nosepcode link-time optimization
+ * install: Removed install__find_for_log
+
+2019-08-12 Ismael Luceno <ismael AT sourcemage.org>
+ * build: Optimized build__find_non_volatile
+
2019-07-24 Ismael Luceno <ismael AT sourcemage.org>
* protected: Added /usr/lib/libc.so

diff --git a/build b/build
index 104c14b..2a84dee 100755
--- a/build
+++ b/build
@@ -1,7 +1,9 @@
#!/bin/bash

build__find_non_volatile() {
- find "$@" -follow -not -type d -and -not -path '*CVS*' -and -not -name
'.#*' -and -not -name '*~' -and -not -path '*.svn*' -and -not -path
'*.arch-id*' -and -not -path '*{arch}*' -and -not -path '*.bzr*' -and -not
-path '*.git*'
+ find "$@" -follow -type d \( \
+ \( -name CVS -o -name .svn -o -name .arch-id -o -name {arch} \
+ -o -name .bzr -o -name .git \) -prune -o -true \) -o -print
}

branch_dir=$(basename $(pwd))
diff --git a/install b/install
index 76354e2..93135a2 100755
--- a/install
+++ b/install
@@ -10,9 +10,6 @@ install__find_non_volatile() {
\! -name '.#*' \! -name '*~' \
\! -type d
}
-install__find_for_log() {
- install__find_non_volatile | sed 's:^:/:'
-}

INSTALL_ROOT="$1"
# First clean out all libraries.
@@ -28,26 +25,24 @@ echo /etc/sorcery/install.log > $SORCERY_INSTALL_LOG

echo "Installing scripts and libraries"
# Install the executables
-install__find_for_log etc usr/sbin var/lib >> $SORCERY_INSTALL_LOG
-install__find_non_volatile etc usr/sbin var/lib | (
- while read SCRIPT; do
- install -o root -g root -m 755 -p -D "${SCRIPT}"
"${INSTALL_ROOT}/${SCRIPT}"
- done
-)
+install__find_non_volatile etc usr/sbin var/lib |
+while read src; do
+ dst="$INSTALL_ROOT/$src" &&
+ install -o 0 -g 0 -m 755 -p -D "$src" "$dst" &&
+ echo "$dst"
+done >> "$SORCERY_INSTALL_LOG"

# Install the man pages
echo "Installing man pages"
-install__find_for_log usr/share/man |while read line; do
-echo ${line}.gz
-done >> $SORCERY_INSTALL_LOG
-install__find_non_volatile usr/share/man | (
- while read DOC; do
- # remove incorrectly installed manuals
- rm -f $INSTALL_ROOT/${DOC/share\/}
- install -o root -g root -m 644 -p -D "${DOC}" "${INSTALL_ROOT}/${DOC}"
- gzip --best -f "${INSTALL_ROOT}/${DOC}"
- done
-)
+install__find_non_volatile usr/share/man |
+while read doc; do
+ dst="$INSTALL_ROOT/$doc.gz" &&
+ >"$dst" &&
+ chown 0:0 "$dst" &&
+ chmod 644 "$dst" &&
+ gzip -9 < "$doc" > "$dst" &&
+ echo "$dst"
+done >> "$SORCERY_INSTALL_LOG"

# Install the GNU General Public License
mkdir -p ${INSTALL_ROOT}/usr/share/doc
diff --git a/usr/sbin/sorcery b/usr/sbin/sorcery
index 1365a35..595de69 100755
--- a/usr/sbin/sorcery
+++ b/usr/sbin/sorcery
@@ -756,6 +756,7 @@ optimization_menu(){
local STRIP_HELP="Remove all symbol table and relocation (debugging)
information (LDFLAGS=-s)"
local TINY_HELP="Optimize to smaller generated code, conflicts with
'speedy' (CFLAGS=$SMALL)"
local AS_NEEDED_HELP="Only emit DT_NEEDED entries for directly used
libraries (LDFLAGS=-Wl,--as-needed)"
+ local NOSEPCODE_HELP="Disable separation between code and data
(LDFLAGS=-Wl,-znoseparate-code)"

if OPTIMIZATIONS=$(eval $DIALOG ' --title "$OPT_TITLE" \
--no-cancel \
@@ -769,6 +770,7 @@ optimization_menu(){
"speedy" " +size ++speed" "$SPEEDY" "$SPEEDY_HELP" \
"strip" " --size" "$STRIP" "$STRIP_HELP" \
"tiny" " -size +speed" "$TINY" "$TINY_HELP" \
+ "nosepcode" " -size" "$NOSEPCODE" "$NOSEPCODE_HELP" \
"as_needed" "only direct libs" "$AS_NEEDED" "$AS_NEEDED_HELP"')
then

diff --git a/var/lib/sorcery/modules/libsorcery
b/var/lib/sorcery/modules/libsorcery
index 10c23ef..db36b37 100755
--- a/var/lib/sorcery/modules/libsorcery
+++ b/var/lib/sorcery/modules/libsorcery
@@ -616,7 +616,7 @@ optimize() {
debug "libsorcery" "In optimize()"

unset CFLAGS CXXFLAGS LDFLAGS CPPFLAGS
- unset FAST PRELINK RISKY SMALL SPEEDY STRIP TINY AS_NEEDED
+ unset FAST PRELINK RISKY SMALL SPEEDY STRIP TINY AS_NEEDED NOSEPCODE

# if user specified --no-opts then use only the args from the command line
# otherwise do the normal stuff
@@ -667,6 +667,11 @@ optimize() {
AS_NEEDED="on"
;;

+ nosepcode)
+ LDFLAGS+=' -Wl,-znoseparate-code'
+ NOSEPCODE="on"
+ ;;
+
esac
done
# use echo to crunch all the whitespace out for broken configure scripts



  • [SM-Commit] GIT changes to master sorcery by Ismael Luceno (f16254798e271535699be137583316abf35a81d7), Ismael Luceno, 08/19/2019

Archive powered by MHonArc 2.6.24.

Top of Page