From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21453 invoked by alias); 11 Jun 2013 13:34:26 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 21441 invoked by uid 89); 11 Jun 2013 13:34:25 -0000 X-Spam-SWARE-Status: No, score=-7.0 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 11 Jun 2013 13:34:24 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r5BDYIdj003737 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 11 Jun 2013 09:34:18 -0400 Received: from localhost.localdomain (ovpn-112-22.ams2.redhat.com [10.36.112.22]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r5BDYGJV014934; Tue, 11 Jun 2013 09:34:17 -0400 Message-ID: <51B72757.9050902@redhat.com> Date: Tue, 11 Jun 2013 13:34:00 -0000 From: Phil Muldoon MIME-Version: 1.0 To: Julian Smith CC: gdb@sourceware.org Subject: Re: Current gdb python errors on python-2.4 References: <20130609035926.40bad3bb.jules@op59.net> In-Reply-To: <20130609035926.40bad3bb.jules@op59.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-06/txt/msg00033.txt.bz2 On 09/06/13 03:59, Julian Smith wrote: > I think gdb in cvs has some python that is not supported by python-2.4 > (e.g. on centos5) - code like 'except Exception as e:'. > > This leads to startup warnings like: > > [jules@vm-centos5 ~]$ ./gdb_cvs_dir/src/gdb/gdb -data-directory gdb_cvs_dir/src/gdb/data-directory > Traceback (most recent call last): > File "/home/jules/gdb_cvs_dir/src/gdb/data-directory/python/gdb/__init__.py", line 105, in auto_load_packages > __import__(modname) > File "gdb_cvs_dir/src/gdb/data-directory/python/gdb/command/frame_filters.py", line 82 > except Exception as e: > ^ > SyntaxError: invalid syntax > - and subsequent use of python from within gdb fails. > > I think simply replacing the 'as' with a comma will allow the code to > work with all python versions ? Unfortunately not, this is one messy area of Python. Python 2.0 - 2.5 supports only: except Exception, e: Python 2.6 and 2.7 support both: except Exception, e: and exception Exception as e: But Python 3 only supports: exception Exception as e: The only way (I know) to get exceptions to work for all versions of Python is to do something like: except Exception: e = sys.exc_info[1] > Here's a patch that works for me: So you will have to re-factor your patch. Also, patches are sent to gdb-patches@sourceware.org. gdb@sourceware.org is more for questions about GDB. Also your patch needs a ChangeLog entry, and possibly you may need paperwork on file with the FSF (the maintainers can help you with that if it is deemed needed). Cheers, Phil