From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7621 invoked by alias); 31 Jul 2017 22:22:06 -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 7610 invoked by uid 89); 31 Jul 2017 22:22:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-6.4 required=5.0 tests=BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=sometime, lifts, H*r:sk:static., HERE X-HELO: mail-it0-f68.google.com Received: from mail-it0-f68.google.com (HELO mail-it0-f68.google.com) (209.85.214.68) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 31 Jul 2017 22:22:04 +0000 Received: by mail-it0-f68.google.com with SMTP id m34so290921iti.0 for ; Mon, 31 Jul 2017 15:22:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=3VpsMr9zaN9V/AB+HAZNVg/uivQhQS0hKJQ9f3hg51I=; b=DECGW+DdbNzMO6WwlNnycFHZeBnfAX6zjWUE3FoUVuiE3O3O19pCUbNYzNkv8Kxy/W x0CAlFdTjryVe3AukOA3eDSZTTjqqQzVw9QYn4XxgwDxkz6jbcM5p8O/mytvktegvcJP fdlX2P86HQYL//FuvThTO/yzCp5hCYQeIsdNEmhRkdVmHZ4sSB2V/acLmmcFWhesNzXL t8zZoPtIUOJ3phHGsmBZOipFYgEfpYFeC5sW6eX965WNS0qNRpGF3DLiZUuWbB7RhTg5 h3MEiEiJ6jNO1+8wu0/AWuqk5I6kuf6b1Eeb/J1yzXMZfszlPwYD4ETwAnIG6SfITX9I hvrA== X-Gm-Message-State: AIVw113eNroMBUowCLwncBCCUzIuufFJdehlmihTZXrG0BKCFs3UPrSU 0wHCrahriHLjtwv6 X-Received: by 10.36.228.202 with SMTP id o193mr20336240ith.130.1501539723056; Mon, 31 Jul 2017 15:22:03 -0700 (PDT) Received: from E107787-LIN.Home (static.42.136.251.148.clients.your-server.de. [148.251.136.42]) by smtp.gmail.com with ESMTPSA id s204sm5963117itd.34.2017.07.31.15.22.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 31 Jul 2017 15:22:02 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 0/9] Centralize unwinder api exceptions handling Date: Mon, 31 Jul 2017 22:22:00 -0000 Message-Id: <1501539715-8049-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes X-SW-Source: 2017-07/txt/msg00466.txt.bz2 This patch series changes GDB to handle unwinder api exceptions in target independent code, instead of in each unwinder. See more details on patch #5. Patch 6 ~ 9 lifts the restrictions on each unwinder, that is, each unwinder has to handle NOT_AVAILABLE_ERROR. Patches 1 ~ 4 are preparatory ones. They can go in independently. The patch series is tested on x86_64-linux and aarch64-linux. Note that rs6000 and s390 unwinders still catch exceptions. I'll change them latter, as I still need sometime understanding the code. *** BLURB HERE *** Yao Qi (9): Move dwarf2_frame_state_reg.exp_len to union .loc Class-fy dwarf2_frame_state Class-fy dwarf2_frame_state_reg_info Reset *THIS_CACHE in frame_unwind_try_unwinder in case of exception Handle unwinding exceptions Throw exception in dwarf2 unwinders Throw exception in amd64 unwinders Throw exception in i386 unwinders Throw exception in aarch64 unwinder gdb/aarch64-tdep.c | 48 +------- gdb/amd64-tdep.c | 95 ++++----------- gdb/dwarf2-frame.c | 331 +++++++++++++++++++++++------------------------------ gdb/dwarf2-frame.h | 114 ++++++++++++++---- gdb/frame-unwind.c | 7 +- gdb/frame-unwind.h | 3 +- gdb/frame.c | 109 +++++++++++++++--- gdb/i386-tdep.c | 111 +++++------------- gdb/sparc-tdep.c | 2 +- 9 files changed, 390 insertions(+), 430 deletions(-) -- 1.9.1