devel/gdb: Fix build on MIPS and powerpc

Fixing build on big-endian 64bit platforms, like MIPS and powerpc

Submitted by:	jhb
Reviewed by:	andreast
Approved by:	olivier (mentor)
Differential Revision:	https://reviews.freebsd.org/D12182
This commit is contained in:
Luca Pizzamiglio 2017-09-13 14:27:14 +00:00
parent 576ce318b0
commit f41c31d93a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=449795
3 changed files with 27 additions and 2 deletions

View file

@ -48,7 +48,8 @@ EXTRA_PATCHES= ${FILESDIR}/commit-45eba0ab7d \
${FILESDIR}/commit-4b654465bf \ ${FILESDIR}/commit-4b654465bf \
${FILESDIR}/commit-b30ff123fb \ ${FILESDIR}/commit-b30ff123fb \
${FILESDIR}/commit-48aeef91c2 \ ${FILESDIR}/commit-48aeef91c2 \
${FILESDIR}/commit-0aa37b654c ${FILESDIR}/commit-0aa37b654c \
${FILESDIR}/commit-0335ac6d12
LIB_DEPENDS+= libexpat.so:textproc/expat2 LIB_DEPENDS+= libexpat.so:textproc/expat2
VER= ${PORTVERSION:S/.//g} VER= ${PORTVERSION:S/.//g}

View file

@ -0,0 +1,24 @@
commit 0335ac6d12906bfb4b48410d8a7229c21c727cf2
Author: John Baldwin <jhb@FreeBSD.org>
Date: Tue Aug 15 08:04:23 2017 -0700
Fix compile on big-endian platforms in siginfo_t converter.
gdb/ChangeLog:
* fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
platforms.
diff --git gdb/fbsd-nat.c gdb/fbsd-nat.c
index c89343a24f..6ba6a01a70 100644
--- gdb/fbsd-nat.c
+++ gdb/fbsd-nat.c
@@ -314,7 +314,7 @@ fbsd_convert_siginfo (siginfo_t *si)
32-bits of the pointer value. */
#if _BYTE_ORDER == _BIG_ENDIAN
if (si->si_value.sival_int == 0)
- si32->si_value.sival_ptr = (uintptr_t) si->si_value.sival_ptr;
+ si32.si_value.sival_ptr = (uintptr_t) si->si_value.sival_ptr;
else
si32.si_value.sival_int = si->si_value.sival_int;
#else

View file

@ -58,7 +58,7 @@ ppcfbsd_supply_pcb(struct regcache *regcache, CORE_ADDR pcb_addr)
tdep = gdbarch_tdep (target_gdbarch()); tdep = gdbarch_tdep (target_gdbarch());
if (target_read_memory(pcb_addr, &pcb, sizeof(pcb)) != 0) if (target_read_memory(pcb_addr, (gdb_byte *)&pcb, sizeof(pcb)) != 0)
memset(&pcb, 0, sizeof(pcb)); memset(&pcb, 0, sizeof(pcb));
/* /*