From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 116065 invoked by alias); 25 Oct 2016 10:58:02 -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 113522 invoked by uid 89); 25 Oct 2016 10:58:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=27,6, H*M:25fb X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 25 Oct 2016 10:57:51 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 09D593F755; Tue, 25 Oct 2016 10:57:50 +0000 (UTC) Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u9PAvmuv007327; Tue, 25 Oct 2016 06:57:49 -0400 Subject: [pushed] Define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS again (Re: GDB AIX build broken) To: David Edelsohn References: <01ba546d-060d-8591-9c5a-84d4bda2af22@redhat.com> <9a7ac4b5-2f5c-916c-a52e-c94e64d6f4f0@redhat.com> <12052de4-a0dd-8d23-2f46-57e91059cfa5@redhat.com> Cc: GDB Patches From: Pedro Alves Message-ID: <8fd35f0e-3a7e-25fb-f2ee-2fa50c35beff@redhat.com> Date: Tue, 25 Oct 2016 10:58:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-10/txt/msg00690.txt.bz2 On 10/25/2016 02:22 AM, Pedro Alves wrote: > On 10/25/2016 02:08 AM, David Edelsohn wrote: >> On Mon, Oct 24, 2016 at 8:50 PM, Pedro Alves wrote: >>> On 10/25/2016 01:31 AM, Pedro Alves wrote: >>>> On 10/25/2016 01:13 AM, David Edelsohn wrote: >>>>> On Mon, Oct 24, 2016 at 7:00 PM, Pedro Alves wrote: >>>>> >>>>>> That's a hint, but it can't be the fix. common-defs.h must be the >>>>>> first file included. I suspect that gnulib's inttypes.h >>>>>> replacement logic is broken on AIX. >>>>> >>>>> The gnulib import definitely is the commit that caused the breakage. >>> >>> Could it be it's the commit after the import? The one >>> that removes __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS from >>> common-defs.h? >> >> common-defs.h needs __STDC_FORMAT_MACROS defined before stdio.h is >> included, as one possible solution. > > I'll do this tomorrow. I've pushed the patch below to master. >From 28fe4f87e0b815f4c0d9b80e0a9f3e6a53c649b3 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 25 Oct 2016 11:47:18 +0100 Subject: [PATCH] Define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS again. Revert commit f6abaf7a4088 (gdb: no longer define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS), with the tweak suggested in that commit's log: the macros are now defined before any system header is included. This should fix AIX: https://sourceware.org/ml/gdb-patches/2016-10/msg00682.html gdb/ChangeLog: 2016-10-25 Pedro Alves * common/common-defs.h (__STDC_CONSTANT_MACROS) (__STDC_LIMIT_MACROS): Define. --- gdb/ChangeLog | 5 +++++ gdb/common/common-defs.h | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5541086..40fab9b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-10-25 Pedro Alves + + * common/common-defs.h (__STDC_CONSTANT_MACROS) + (__STDC_LIMIT_MACROS): Define. + 2016-10-25 Yao Qi PR gdb/20716 diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h index 9b5d853..3d5ff18 100644 --- a/gdb/common/common-defs.h +++ b/gdb/common/common-defs.h @@ -27,6 +27,19 @@ #include "build-gnulib/config.h" #endif +/* From: + https://www.gnu.org/software/gnulib/manual/html_node/stdint_002eh.html + + "On some hosts that predate C++11, when using C++ one must define + __STDC_CONSTANT_MACROS to make visible the definitions of constant + macros such as INTMAX_C, and one must define __STDC_LIMIT_MACROS to + make visible the definitions of limit macros such as INTMAX_MAX.". + + Must do this before including any system header, since system + headers may include stdint.h. */ +#define __STDC_CONSTANT_MACROS 1 +#define __STDC_LIMIT_MACROS 1 + #include #include #include -- 2.5.5