From owner-freebsd-ports@FreeBSD.ORG Wed Aug 16 17:26:10 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 27E1216A4DD for ; Wed, 16 Aug 2006 17:26:10 +0000 (UTC) (envelope-from mark@noc.mainstreet.net) Received: from noc.mainstreet.net (noc.mainstreet.net [207.5.0.45]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD7B043D55 for ; Wed, 16 Aug 2006 17:26:09 +0000 (GMT) (envelope-from mark@noc.mainstreet.net) Received: from localhost (localhost [127.0.0.1]) by noc.mainstreet.net (Postfix) with ESMTP id B94D828482; Wed, 16 Aug 2006 10:26:09 -0700 (PDT) Received: from noc.mainstreet.net ([127.0.0.1]) by localhost (noc.mainstreet.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 69044-05; Wed, 16 Aug 2006 10:26:09 -0700 (PDT) Received: by noc.mainstreet.net (Postfix, from userid 1002) id 01B33284AD; Wed, 16 Aug 2006 10:26:08 -0700 (PDT) From: Mark Kent To: freebsd-ports@freebsd.org In-reply-to: <44E348C0.6060105@rogers.com> (message from Mike Jakubik on Wed, 16 Aug 2006 12:33:04 -0400) References: <20060815233733.BACC1284F9@noc.mainstreet.net> <20060816035858.GA44287@fatpipi.cirx.org> <44E348C0.6060105@rogers.com> Message-Id: <20060816172608.01B33284AD@noc.mainstreet.net> Date: Wed, 16 Aug 2006 10:26:08 -0700 (PDT) Cc: vanilla@fatpipi.cirx.org, mikej@rogers.com Subject: Re: php-templates in 6.1 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Aug 2006 17:26:10 -0000 Thanks for the pointers. What I've discovered about the compile error for php-templates is that the "bad" code is there as an aid to debugging memory issues. That is, the zend code appears to depend on pre-processor behavior to correctly embed the filename and line of the source code in the code itself, to be stored here: typedef struct _zend_mem_header { #if ZEND_DEBUG long magic; char *filename; uint lineno; int reported; char *orig_filename; uint orig_lineno; # ifdef ZTS THREAD_T thread_id; # endif #endif struct _zend_mem_header *pNext; struct _zend_mem_header *pLast; unsigned int size:31; unsigned int cached:1; } zend_mem_header; I haven't clearly thought this out, but something about this bugs me... I don't know if it's the irony of being tripped up by a debugging aid, or the lack of separation of the code itself from the tools used to debug the code, but I'm definitely irritated by this. -mark P.S. FYI, I'm using "gcc version 3.4.4 [FreeBSD] 20050518"