glib2: fix mips16 build, add size reducing static link, fpic CFLAGS
authorAndy Walsh <andy.walsh44+github@gmail.com>
Fri, 13 Dec 2019 14:29:32 +0000 (15:29 +0100)
committerRosen Penev <rosenp@gmail.com>
Mon, 27 Jan 2020 23:46:16 +0000 (15:46 -0800)
* allows building as mips16 (fixes broken mips16/32 mixed static linking)
* add some static link related flags to reduce target binary size

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
(cherry-picked from a558b209440590deb5fae5ff32e4731c5e516194)

libs/glib2/Makefile
libs/glib2/patches/003-valgrind.h-mips16-fix.patch [new file with mode: 0644]

index 2c7aa10a4b38a8a05fcbe44a55913565281460fd..947f964ea9e46966caf8eb9c1175399591ce7bfb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
 PKG_VERSION:=2.58.3
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
@@ -21,7 +21,6 @@ HOST_BUILD_PARALLEL:=1
 PKG_BUILD_DEPENDS:=glib2/host gettext
 HOST_BUILD_DEPENDS:=gettext-full/host libiconv/host libffi/host
 PKG_INSTALL:=1
-PKG_USE_MIPS16:=0
 
 PKG_CPE_ID:=cpe:/a:gnome:glib
 
@@ -46,6 +45,8 @@ define Package/glib2/description
   The GLib library of C routines
 endef
 
+TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
+
 HOST_CONFIGURE_ARGS += \
        --disable-libelf \
        --disable-selinux \
diff --git a/libs/glib2/patches/003-valgrind.h-mips16-fix.patch b/libs/glib2/patches/003-valgrind.h-mips16-fix.patch
new file mode 100644 (file)
index 0000000..eeb47e1
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/glib/valgrind.h  2019-12-12 14:53:26.000200499 +0100
++++ b/glib/valgrind.h  2019-12-12 14:49:45.056163300 +0100
+@@ -157,7 +157,7 @@
+ #  define PLAT_s390x_linux 1
+ #elif defined(__linux__) && defined(__mips__) && (__mips==64)
+ #  define PLAT_mips64_linux 1
+-#elif defined(__linux__) && defined(__mips__) && (__mips!=64)
++#elif defined(__linux__) && defined(__mips__) && (__mips!=64) && !defined(__mips16)
+ #  define PLAT_mips32_linux 1
+ #elif defined(__sun) && defined(__i386__)
+ #  define PLAT_x86_solaris 1