From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 35943 invoked by alias); 11 Jul 2017 13:36:38 -0000 Mailing-List: contact infinity-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: infinity-owner@sourceware.org Received: (qmail 35307 invoked by uid 89); 11 Jul 2017 13:36:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=preview, gary, Gary, presently X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: 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, 11 Jul 2017 13:36:35 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0E7DFC0467D7 for ; Tue, 11 Jul 2017 13:36:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 0E7DFC0467D7 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=gbenson@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 0E7DFC0467D7 Received: from blade.nx (ovpn-117-189.ams2.redhat.com [10.36.117.189]) by smtp.corp.redhat.com (Postfix) with ESMTP id C81BD7D951 for ; Tue, 11 Jul 2017 13:36:33 +0000 (UTC) Received: by blade.nx (Postfix, from userid 1000) id D885A81BF0C2; Tue, 11 Jul 2017 14:36:32 +0100 (BST) Date: Tue, 11 Jul 2017 13:36:00 -0000 From: Gary Benson To: infinity@sourceware.org Subject: Fourth Infinity full-system preview now available Message-ID: <20170711133631.GA25298@blade.nx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Organization: Red Hat UK Ltd, 64 Baker Street, 4th Floor, W1U 7DF, UK. Registered in England and Wales (3798903) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 11 Jul 2017 13:36:34 +0000 (UTC) X-IsSubscribed: yes X-SW-Source: 2017-q3/txt/msg00000.txt.bz2 Hi all, The fourth full-system preview release of Infinity is now available: https://infinitynotes.org/wiki/Forth_Bridge I'm working on making snapshots more regularly, so this release is a little less formal than previously. The reason for Forth Bridge is as a preview of the Python bindings for libi8x. These have two uses: 1) They allow me to drop the incomplete and mostly untested Python interpreter in the I8X, the note tester that comes with I8C. The tester's used during glibc builds to ensure the notes work, so using libi8x to run the tests means the notes are tested using the same code that's going to execute them in GDB et al. The Python interpreter doesn't fully check everything that libi8x's interpreter does, and neither presently have tests for malformed notes. 2) They allow me to write (some of?) libi8x's tests in Python. My initial target was the library API tests--if everything libi8x does is exposed to Python, and the Python bindings have full test coverage then I only have to write the Python bindings tests and I get the API tests for libi8x for free. This is semi-enforced by the binding generator: it only emits bindings for functions that have testcases. I'm writing the bindings in two layers, a low-level module (basically a 1:1 mapping of the C API) and a high-level module which will wrap calls to the low-level module in Python prettiness. My reasoning is twofold: 1) The unit tests for the Python API can function as the unit tests for the C API too... writing one set of unit tests saves time, and writing tests in Python saves time. 2) I can do most of the shuffling to turn the C way of doing things into a Python way of doing things in Python... which again saves time. Anyway, Forth Bridge contains enough of the low-level layer of the Python bindings that the Python interpreter in I8X can be replaced. I8C's testsuite passes with the libi8x interpreter, and the tests in glibc work with I8X using the libi8x interpreter. You could try it! The page linked above details how to: * Build glibc with Infinity notes for thread debugging. * Run applications using that glibc. * Build a patched GDB and debug those applications using Infinity. All this can be done as a normal user (root access is not required). Please direct questions to infinity@sourceware.org. Thanks! Gary -- https://infinitynotes.org/