From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3688 invoked by alias); 27 Mar 2017 15:41:39 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 3630 invoked by uid 89); 27 Mar 2017 15:41:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1458, wondering X-HELO: mail-qk0-f173.google.com Received: from mail-qk0-f173.google.com (HELO mail-qk0-f173.google.com) (209.85.220.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 27 Mar 2017 15:41:29 +0000 Received: by mail-qk0-f173.google.com with SMTP id r142so13000033qke.2 for ; Mon, 27 Mar 2017 08:41:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=XiTkT+d5siHwJ9ZMe4IGb4NptToM63ShcY3DrGH9EBM=; b=BQBFLqpIysHEg9y95zUdHXbwCsPjFJ8EAzhe2xapQuG+XI5ZK6ePqZLheJRO8j1AhX rBE+QmRBjM084Ua8cRSdQg5pIxlpLiny10DWauBGdK7egTT7JakH8glgzknnwkEGiqcQ a3BqFo5g9RQ53QZq7+97m8Fpfsqpam6gqW5SJHzL+v8PqWLFXIuFw6rgvuMAKtUVm3Xt 8GE6dkKNkueO2XbfwQ+Jnmp/EUWvqfiM4YmVohcqvrGCybrwphaeCn0Ht8ZAXQrrf6DL O83nON7PegKcrsg/lcNvm3H1Xhkw/7EE0o55tl+GAkBYCrYyc1TUvg6WSBw8XZMgEkaI /F9w== X-Gm-Message-State: AFeK/H3o4GCIGc6E+qC8/an9Sl8DxeK6urjRfXtBCzQIuMB2JZ62GEjsYciKIHVgeDUPrfhHegUrjZsUv3hh1A== X-Received: by 10.55.140.199 with SMTP id o190mr19538783qkd.46.1490629289229; Mon, 27 Mar 2017 08:41:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.174.5 with HTTP; Mon, 27 Mar 2017 08:41:28 -0700 (PDT) From: David Edelsohn Date: Mon, 27 Mar 2017 15:44:00 -0000 Message-ID: Subject: Re: [PATCH] Real fix for AIX exception handling To: Michael Haubenwallner Cc: GCC Patches Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2017-03/txt/msg01401.txt.bz2 > As far as I have discovered, the real problem with AIX exception handling is > that the exception landing pads are symbols that must not (but still are) > exported from shared libraries - even libstdc++. > > I'm wondering if attached libtool(!)-patch would fix even that GDB problem > once applied to each(!) shared library creation procedure. > > However, each workaround still applies as long as there's a single shared > library involved that has not stopped exporting these symbols yet. > > Thoughts? > > Maybe gcc's collect2 should apply this additional symbol filter itself when > calling (AIX) ld, rather than leaving this to each build system? > > * m4/libtool.m4 (_LT_LINKER_SHLIBS): On AIX, GNU g++ generates > _GLOBAL__ symbols as, amongst others, landing pads for C++ exceptions. > These symbols must not be exported from shared libraries, or exception > handling may break for applications with runtime linking enabled. Hi, Michael Thanks for the analysis. The problem with EH for GDB involves static linking, not runtime linking. And there seems to be different behavior for GCC 4.8 and GCC 4.9. The patch seems correct for the runtime linking case, but I don't believe that it solves all of the EH issues -- at least more explanation is needed. I think that the problem for static linking needs to be addressed by collect2. Thanks, David P.S. Please explicitly copy me on AIX patches.