From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27392 invoked by alias); 9 Feb 2019 00:42:38 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 27384 invoked by uid 89); 9 Feb 2019 00:42:38 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.2 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy=thread-local, 1999, i386.h, i386h X-HELO: mail.baldwin.cx Received: from bigwig.baldwin.cx (HELO mail.baldwin.cx) (96.47.65.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 09 Feb 2019 00:42:35 +0000 Received: from ralph.com (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id B507310A87D for ; Fri, 8 Feb 2019 19:42:33 -0500 (EST) From: John Baldwin To: gdb-patches@sourceware.org Subject: [PATCH v2 00/11] Support for thread-local variables on FreeBSD Date: Sat, 09 Feb 2019 00:42:00 -0000 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00089.txt.bz2 Relative to the first version the changes are: - Patch 2 fixes some #ifdef's pointed by Simon in amd64-bsd-nat.c. - Patch 3's description has been reworked to narrow down the cases in which it applies. - Patch 5 is a new cleanup patch - Patch 6 is a new patch that introduces a new method to lookup the offset of a field in a structure. It is slightly more general than just returning offsets so that it can hopefully be used to replace the lk_find_field function in the Linux kernel patchset. - Patch 7 (formerly 5) now uses the new method from Patch 6 to lookup the offsets of two fields in a runtime linker structure instead of parse_and_eval_long with manual offsetof. John Baldwin (11): Support the fs_base and gs_base registers on i386. Support fs_base and gs_base on FreeBSD/i386. Handle an edge case for minisym TLS variable lookups. Add a new gdbarch method to resolve the address of TLS variables. Remove code disabled since at least 1999 from lookup_struct_elt_type. Add a more general version of lookup_struct_elt_type. Add a helper function to resolve TLS variable addresses for FreeBSD. Support TLS variables on FreeBSD/amd64. Support TLS variables on FreeBSD/i386. Support TLS variables on FreeBSD/riscv. Support TLS variables on FreeBSD/powerpc. gdb/ChangeLog | 108 +++++++++++++++++++ gdb/amd64-bsd-nat.c | 26 +++-- gdb/amd64-fbsd-nat.c | 4 +- gdb/amd64-fbsd-tdep.c | 25 +++++ gdb/amd64-tdep.c | 10 +- gdb/arch/i386.c | 6 +- gdb/arch/i386.h | 3 +- gdb/fbsd-tdep.c | 153 +++++++++++++++++++++++++++ gdb/fbsd-tdep.h | 10 ++ gdb/features/i386/32bit-segments.c | 15 +++ gdb/features/i386/32bit-segments.xml | 12 +++ gdb/gdbarch.c | 32 ++++++ gdb/gdbarch.h | 6 ++ gdb/gdbarch.sh | 1 + gdb/gdbserver/ChangeLog | 8 ++ gdb/gdbserver/linux-x86-tdesc.c | 2 +- gdb/gdbserver/lynx-i386-low.c | 2 +- gdb/gdbserver/nto-x86-low.c | 2 +- gdb/gdbserver/win32-i386-low.c | 2 +- gdb/gdbtypes.c | 73 +++++++------ gdb/gdbtypes.h | 19 ++++ gdb/i386-bsd-nat.c | 54 ++++++++++ gdb/i386-fbsd-nat.c | 2 +- gdb/i386-fbsd-tdep.c | 31 +++++- gdb/i386-go32-tdep.c | 2 +- gdb/i386-linux-tdep.c | 2 +- gdb/i386-tdep.c | 33 ++++-- gdb/i386-tdep.h | 12 ++- gdb/ppc-fbsd-tdep.c | 35 ++++++ gdb/riscv-fbsd-tdep.c | 27 +++++ gdb/solib-svr4.c | 5 + gdb/target.c | 13 ++- 32 files changed, 656 insertions(+), 79 deletions(-) create mode 100644 gdb/features/i386/32bit-segments.c create mode 100644 gdb/features/i386/32bit-segments.xml -- 2.19.2