diff options
author | Anuj Mittal <anuj.mittal@intel.com> | 2018-01-04 10:33:47 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-05 11:54:57 +0000 |
commit | 2557af944db081c1043f6052bc0f11e58022aeb7 (patch) | |
tree | 587a531afec29515ba7c022410937b9f6dd4f869 | |
parent | b7be3aa46f676066ad05cf8192800ae184095838 (diff) | |
download | openembedded-core-2557af944db081c1043f6052bc0f11e58022aeb7.tar.gz openembedded-core-2557af944db081c1043f6052bc0f11e58022aeb7.tar.bz2 openembedded-core-2557af944db081c1043f6052bc0f11e58022aeb7.zip |
gdb: fix build with x32
When compiling gdb for x32, it fails with errors:
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c: In function 'const target_desc* get_ipa_tdesc(int)':
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:184:10: error: 'X86_TDESC_AVX512' was not declared in this scope
| case X86_TDESC_AVX512:
| ^~~~~~~~~~~~~~~~
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:184:10: note: suggested alternative: 'X86_TDESC_AVX'
| case X86_TDESC_AVX512:
| ^~~~~~~~~~~~~~~~
| X86_TDESC_AVX
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:185:14: error: 'tdesc_x32_avx512_linux' was not declared in this scope
| return tdesc_x32_avx512_linux;
| ^~~~~~~~~~~~~~~~~~~~~~
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:185:14: note: suggested alternative: 'tdesc_x32_avx_linux'
| return tdesc_x32_avx512_linux;
| ^~~~~~~~~~~~~~~~~~~~~~
| tdesc_x32_avx_linux
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c: In function 'void initialize_low_tracepoint()':
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:282:3: error: 'init_registers_x32_avx512_linux' was not declared in this scope
| init_registers_x32_avx512_linux ();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:282:3: note: suggested alternative: 'init_registers_x32_avx_linux'
| init_registers_x32_avx512_linux ();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| init_registers_x32_avx_linux
Backport:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=f02fd7745d003d65fd3b981618e07b874b721d79
Fixes [YOCTO #12120]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/gdb/gdb-8.0.1.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch | 101 |
2 files changed, 102 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gdb/gdb-8.0.1.inc b/meta/recipes-devtools/gdb/gdb-8.0.1.inc index 04a1c809db..83c08e55a3 100644 --- a/meta/recipes-devtools/gdb/gdb-8.0.1.inc +++ b/meta/recipes-devtools/gdb/gdb-8.0.1.inc @@ -16,6 +16,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ file://0009-Change-order-of-CFLAGS.patch \ file://0010-resolve-restrict-keyword-conflict.patch \ file://package_devel_gdb_patches_120-sigprocmask-invalid-call.patch \ + file://0012-Unbreak-GDBserver-build-for-x32.patch \ " SRC_URI[md5sum] = "48cac527e6f3018b865ece021e9723ac" SRC_URI[sha256sum] = "3dbd5f93e36ba2815ad0efab030dcd0c7b211d7b353a40a53f4c02d7d56295e3" diff --git a/meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch b/meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch new file mode 100644 index 0000000000..18a3ce3d63 --- /dev/null +++ b/meta/recipes-devtools/gdb/gdb/0012-Unbreak-GDBserver-build-for-x32.patch @@ -0,0 +1,101 @@ +From 3e1e401053ea5f02a9e9c65abddd31a03baa1bd1 Mon Sep 17 00:00:00 2001 +From: Yao Qi <yao.qi@linaro.org> +Date: Fri, 29 Dec 2017 12:57:25 +0800 +Subject: [PATCH] Unbreak GDBserver build for x32 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When I verify my target description changes, I build GDB and GDBserver for +x32, but it failed. + +/../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c +../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c: In function ‘const target_desc* get_ipa_tdesc(int)’: +../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c:184:10: error: ‘X86_TDESC_AVX512’ was not declared in this scope + case X86_TDESC_AVX512: + ^ +../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c:185:14: error: ‘tdesc_x32_avx512_linux’ was not declared in this scope + return tdesc_x32_avx512_linux; + ^ +../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c: In function ‘void initialize_low_tracepoint()’: +../../../binutils-gdb/gdb/gdbserver/linux-amd64-ipa.c:282:36: error: ‘init_registers_x32_avx512_linux’ was not declared in this scope + init_registers_x32_avx512_linux (); + ^ + +ipa_x32_linux_regobj use to be there, but removed by +22049425ce40324139be82d9a6ec518c46b65815 by mistake. + +gdb/gdbserver: + +2017-08-04 Yao Qi <yao.qi@linaro.org> + + * configure.srv (ipa_x32_linux_regobj): New. + * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512 + instead of X86_TDESC_AVX512. + (initialize_low_tracepoint): Call + init_registers_x32_avx_avx512_linux. + +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=f02fd7745d003d65fd3b981618e07b874b721d79] + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + ChangeLog | 8 ++++++++ + gdb/gdbserver/configure.srv | 1 + + gdb/gdbserver/linux-amd64-ipa.c | 6 +++--- + 3 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 4ac2d63..b5b8228 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,11 @@ ++ 2017-08-04 Yao Qi <yao.qi@linaro.org> ++ ++ * configure.srv (ipa_x32_linux_regobj): New. ++ * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512 ++ instead of X86_TDESC_AVX512. ++ (initialize_low_tracepoint): Call ++ init_registers_x32_avx_avx512_linux. ++ + 2017-04-13 Andrew Jenner <andrew@codesourcery.com> + + * config.sub: Sync with master version in config project. +diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv +index d00d9e2..56951c8 100644 +--- a/gdb/gdbserver/configure.srv ++++ b/gdb/gdbserver/configure.srv +@@ -31,6 +31,7 @@ srv_amd64_linux_regobj="amd64-linux.o amd64-avx-linux.o amd64-avx-avx512-linux.o + + ipa_i386_linux_regobj="i386-linux-ipa.o i386-avx-linux-ipa.o i386-avx-mpx-linux-ipa.o i386-avx-avx512-linux-ipa.o i386-avx-mpx-avx512-pku-linux-ipa.o i386-mpx-linux-ipa.o i386-mmx-linux-ipa.o" + ipa_amd64_linux_regobj="amd64-linux-ipa.o amd64-avx-linux-ipa.o amd64-avx-mpx-linux-ipa.o amd64-avx-avx512-linux-ipa.o amd64-avx-mpx-avx512-pku-linux-ipa.o amd64-mpx-linux-ipa.o" ++ipa_x32_linux_regobj="x32-linux-ipa.o x32-avx-linux-ipa.o x32-avx-avx512-linux-ipa.o" + ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-cell32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-cell64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o" + + srv_i386_32bit_xmlfiles="i386/32bit-core.xml i386/32bit-sse.xml i386/32bit-avx.xml i386/32bit-avx512.xml i386/32bit-mpx.xml i386/32bit-pkeys.xml" +diff --git a/gdb/gdbserver/linux-amd64-ipa.c b/gdb/gdbserver/linux-amd64-ipa.c +index 67f36c2..683339b 100644 +--- a/gdb/gdbserver/linux-amd64-ipa.c ++++ b/gdb/gdbserver/linux-amd64-ipa.c +@@ -181,8 +181,8 @@ get_ipa_tdesc (int idx) + return tdesc_x32_linux; + case X86_TDESC_AVX: + return tdesc_x32_avx_linux; +- case X86_TDESC_AVX512: +- return tdesc_x32_avx512_linux; ++ case X86_TDESC_AVX_AVX512: ++ return tdesc_x32_avx_avx512_linux; + default: + break; + } +@@ -279,7 +279,7 @@ initialize_low_tracepoint (void) + #if defined __ILP32__ + init_registers_x32_linux (); + init_registers_x32_avx_linux (); +- init_registers_x32_avx512_linux (); ++ init_registers_x32_avx_avx512_linux (); + #else + init_registers_amd64_linux (); + init_registers_amd64_avx_linux (); +-- +2.7.4 + |