Patchwork [1/1] mariadb: fix QA Issue ELF binary has relocations in .text while multilib enabled

login
register
mail settings
Submitter Hongxu Jia
Date Nov. 15, 2013, 8:33 a.m.
Message ID <5f00aadb00bfff80b72a857e190dfd4ccea50310.1384504242.git.hongxu.jia@windriver.com>
Download mbox | patch
Permalink /patch/61763/
State Accepted, archived
Headers show

Comments

Hongxu Jia - Nov. 15, 2013, 8:33 a.m.
bitbake lib32-mariadb
...
WARNING: QA Issue: ELF binary 'bitbake_build/tmp/work/x86-wrsmllib32-linux/lib32-mariadb/5.1.67-r0/packages-split/lib32-libmysqlclient/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text
WARNING: QA Issue: ELF binary 'bitbake_build/tmp/work/x86-wrsmllib32-linux/lib32-mariadb/5.1.67-r0/packages-split/lib32-libmysqlclient/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text
...
The mariadb used absolute addresses on IA-32, we should forbid this.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 ...orage-forbids-absolute-addresses-on-IA-32.patch | 44 ++++++++++++++++++++++
 meta-oe/recipes-support/mysql/mariadb_5.1.67.inc   |  1 +
 2 files changed, 45 insertions(+)
 create mode 100644 meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
Hongxu Jia - Nov. 15, 2013, 10:06 a.m.
On 11/15/2013 04:33 PM, Hongxu Jia wrote:
> bitbake lib32-mariadb
> ...
> WARNING: QA Issue: ELF binary 'bitbake_build/tmp/work/x86-wrsmllib32-linux/lib32-mariadb/5.1.67-r0/packages-split/lib32-libmysqlclient/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text
> WARNING: QA Issue: ELF binary 'bitbake_build/tmp/work/x86-wrsmllib32-linux/lib32-mariadb/5.1.67-r0/packages-split/lib32-libmysqlclient/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text
> ...
> The mariadb used absolute addresses on IA-32, we should forbid this.
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>   ...orage-forbids-absolute-addresses-on-IA-32.patch | 44 ++++++++++++++++++++++
>   meta-oe/recipes-support/mysql/mariadb_5.1.67.inc   |  1 +
>   2 files changed, 45 insertions(+)
>   create mode 100644 meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
>
> diff --git a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
> new file mode 100644
> index 0000000..0530cd9
> --- /dev/null
> +++ b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
> @@ -0,0 +1,44 @@
> +storage: forbids absolute addresses on IA-32
> +
> +The shared lib has relocations in .text
> +...
> +WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text
> +WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text
> +...
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> +---
> + storage/innodb_plugin/plug.in |    2 +-
> + storage/xtradb/plug.in        |    2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in
> +--- a/storage/innodb_plugin/plug.in
> ++++ b/storage/innodb_plugin/plug.in
> +@@ -50,7 +50,7 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin,  [
> + 		;;
> + 	*86)
> + 		# Use absolute addresses on IA-32
> +-		INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
> ++		# INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"

No need to keep it in comments, just remove it.
I have done the modification in git:

http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=hongxu/fix-mariadb-qa


//Hongxu




> + 		;;
> +   esac
> +   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
> +diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in
> +index a33f4dc..4c186fd 100644
> +--- a/storage/xtradb/plug.in
> ++++ b/storage/xtradb/plug.in
> +@@ -51,7 +51,7 @@ MYSQL_PLUGIN_ACTIONS(xtradb,  [
> + 		;;
> + 	*86)
> + 		# Use absolute addresses on IA-32
> +-		INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
> ++		# INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
> + 		;;
> +   esac
> +   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
> +--
> +1.7.9.5
> +
> diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc b/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
> index 98d135f..e66f215 100644
> --- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
> +++ b/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
> @@ -16,6 +16,7 @@ SRC_URI = "http://mirrors.coreix.net/mariadb/mariadb-${PV}/kvm-tarbake-jaunty-x8
>              file://fix-cve-2013-1861-1.patch \
>              file://fix-cve-2013-1861-2.patch \
>              file://zlib-let-libdir-configurable.patch \
> +           file://storage-forbids-absolute-addresses-on-IA-32.patch \
>              file://my.cnf \
>              file://mysqld.sh"
>

Patch

diff --git a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
new file mode 100644
index 0000000..0530cd9
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch
@@ -0,0 +1,44 @@ 
+storage: forbids absolute addresses on IA-32
+
+The shared lib has relocations in .text
+...
+WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text
+WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text
+...
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ storage/innodb_plugin/plug.in |    2 +-
+ storage/xtradb/plug.in        |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in
+--- a/storage/innodb_plugin/plug.in
++++ b/storage/innodb_plugin/plug.in
+@@ -50,7 +50,7 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin,  [
+ 		;;
+ 	*86)
+ 		# Use absolute addresses on IA-32
+-		INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
++		# INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
+ 		;;
+   esac
+   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in
+index a33f4dc..4c186fd 100644
+--- a/storage/xtradb/plug.in
++++ b/storage/xtradb/plug.in
+@@ -51,7 +51,7 @@ MYSQL_PLUGIN_ACTIONS(xtradb,  [
+ 		;;
+ 	*86)
+ 		# Use absolute addresses on IA-32
+-		INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
++		# INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic"
+ 		;;
+   esac
+   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+-- 
+1.7.9.5
+
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc b/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
index 98d135f..e66f215 100644
--- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
+++ b/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc
@@ -16,6 +16,7 @@  SRC_URI = "http://mirrors.coreix.net/mariadb/mariadb-${PV}/kvm-tarbake-jaunty-x8
            file://fix-cve-2013-1861-1.patch \
            file://fix-cve-2013-1861-2.patch \
            file://zlib-let-libdir-configurable.patch \
+           file://storage-forbids-absolute-addresses-on-IA-32.patch \
            file://my.cnf \
            file://mysqld.sh"