]> code.ossystems Code Review - openembedded-core.git/commitdiff
unzip: use optimization from bitbake
authorMikko Rapeli <mikko.rapeli@bmw.de>
Thu, 22 Apr 2021 14:41:14 +0000 (17:41 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Apr 2021 16:53:01 +0000 (17:53 +0100)
Build with bitbake default optimizations, e.g. O2,
instead of custom O3. Reduces unzip binary package
size from 304401 to 283921 bytes, and enables building
with Os to even further reduce binary size if needed
and configured for the whole system.

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/unzip/unzip/unzip_optimization.patch [new file with mode: 0644]
meta/recipes-extended/unzip/unzip_6.0.bb

diff --git a/meta/recipes-extended/unzip/unzip/unzip_optimization.patch b/meta/recipes-extended/unzip/unzip/unzip_optimization.patch
new file mode 100644 (file)
index 0000000..4bab7b2
--- /dev/null
@@ -0,0 +1,127 @@
+unzip: use optimization from bitbake
+
+Remove -O3 optimizations to use bitbake default optimization levels.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
+
+diff -rup unix-orig/configure unix/configure
+--- a/unix-orig/configure      2021-04-16 10:25:03.120858292 +0000
++++ b/unix/configure   2021-04-16 10:46:43.292546138 +0000
+@@ -70,7 +70,7 @@ int main()
+ _EOF_
+   $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+   if test $? -eq 0; then
+-    CFLAGS_OPT='-O3'
++    CFLAGS_OPT=''
+     echo "  DEC C ($CFLAGS_OPT)"
+   else
+     # HP-UX HP C?
+@@ -111,7 +111,7 @@ int main()
+ _EOF_
+       $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+       if test $? -eq 0; then
+-        CFLAGS_OPT='-O3'
++        CFLAGS_OPT=''
+         echo "  GNU C ($CFLAGS_OPT)"
+       # Special Mac OS X shared library "ld" option?
+         if test ` uname -s 2> /dev/null ` = 'Darwin'; then
+diff -rup unix-orig/Makefile unix/Makefile
+--- a/unix-orig/Makefile       2021-04-16 10:25:03.000863878 +0000
++++ b/unix/Makefile    2021-04-16 10:47:31.658299278 +0000
+@@ -47,7 +47,7 @@ LD = $(CC)#  must match, else "unresolved
+ AS = as
+ LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
+ AF = $(LOC)
+-CFLAGS = -O
++CFLAGS = 
+ CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC)
+ CF = $(CFLAGS) $(CF_NOOPT)
+ LFLAGS1 =
+@@ -594,12 +594,12 @@ generic_shlib:   unix_make
+       @echo\
+  'which is UnZip linked with the DLL).  This target is an example only.'
+       @echo ""
+-      $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC -DDLL"
++      $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC -DDLL"
+       gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
+       $(RM) libunzip.so.0 libunzip.so
+       $(LN) -s libunzip.so.0.4 libunzip.so.0
+       $(LN) -s libunzip.so.0 libunzip.so
+-      gcc -c -O unzipstb.c
++      gcc -c unzipstb.c
+       gcc -o unzip_shlib unzipstb.o -L. -lunzip
+ #----------------------------------------------------------------------------
+@@ -775,7 +775,7 @@ freebsd:           unix_make
+ # with "echo" instead).
+ #
+ gcc:          unix_make
+-      $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2=""
++      $(MAKE) unzips CC=gcc LD=gcc CFLAGS="" LF2=""
+ # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
+ hk68:         unix_make
+@@ -792,7 +792,7 @@ isc:               unix_make
+ isc_gcc:      unix_make
+       $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRCA_O=crc_gcc$O \
+        LF="-shlib $(LF)" SL="-shlib $(SL)" FL="-shlib $(FL)" LF2="" \
+-       CFLAGS="-O3" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
++       CFLAGS="" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
+        AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
+       $(STRIP) $(UNZIPS)
+@@ -808,7 +808,7 @@ isi:               unix_make
+ linux:                unix_make
+       @echo 'NOTE:  use linux_noasm target for non-Intel Linux compiles.'
+       $(MAKE) unzips CC=gcc LD=gcc AS=gcc\
+-       CFLAGS="-O3 -Wall -DASM_CRC"\
++       CFLAGS="-Wall -DASM_CRC"\
+        AF="-Di386 $(AF)" CRCA_O=crc_gcc$O
+ # GRR:  this echo is pointless; if user gets this far, no difference to install
+ #     @echo 'Be sure to use the install_asm target rather than the install target'
+@@ -818,14 +818,14 @@ linux_asm:       linux
+ # Linux (Posix, approximately SysV):  virtually any version since before 0.96,
+ # for any platform.  Change "-O" to "-O3" or whatever, as desired...
+ linux_noasm:  unix_make
+-      $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall"
++      $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-Wall"
+ # Linux with lcc compiler:  __inline__ (stat.h) not recognized, and must edit
+ # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined.  -O3
+ # (or -O2 or -O) is ignored.  [GRR 960828: test target only]
+ #
+ linux_lcc:    unix_make
+-      $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-O3 -Wall -D__inline__= "
++      $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-Wall -D__inline__= "
+ # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS.
+ linux_dos:    unix_make
+@@ -844,7 +844,7 @@ linux_dos: unix_make
+ # library).
+ #
+ linux_shlib:  unix_make
+-      $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC"\
++      $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC"\
+        LOC="-DDLL -DASM_CRC $(LOC)"\
+        AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O
+       gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
+@@ -858,7 +858,7 @@ linux_shlib:       unix_make
+ # instead of the original UnZip version.  (libz was libgz prior to 0.94)
+ linux_shlibz: unix_make
+       $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O\
+-       CFLAGS="-O3 -Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
++       CFLAGS="-Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
+       gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
+        crc_gcc.pic.o
+       ln -sf libunzip.so.0.4 libunzip.so.0
+@@ -871,7 +871,7 @@ lynx:              unix_make
+ # Macintosh MacOS X (Unix-compatible enviroment), using standard compiler
+ macosx:       unix_make
+-      $(MAKE) unzips CFLAGS="-O3 -Wall -DBSD" LF2=""
++      $(MAKE) unzips CFLAGS="-Wall -DBSD" LF2=""
+       $(STRIP) $(UNZIPS)
+ # Macintosh MacOS X (Unix-compatible enviroment), using gcc
index 0c56a39d92156d394926d306c8829fe6a01fd826..ec69508eea866cbaff3a24404b5d28c09db21e48 100644 (file)
@@ -26,6 +26,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
        file://CVE-2019-13232_p1.patch \
        file://CVE-2019-13232_p2.patch \
        file://CVE-2019-13232_p3.patch \
+       file://unzip_optimization.patch \
 "
 UPSTREAM_VERSION_UNKNOWN = "1"