From owner-freebsd-amd64@FreeBSD.ORG Tue Dec 16 21:50:01 2003 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 30E5F16A4CE for ; Tue, 16 Dec 2003 21:50:01 -0800 (PST) Received: from bigtex.jrv.org (rrcs-sw-24-73-246-106.biz.rr.com [24.73.246.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FE3543D33 for ; Tue, 16 Dec 2003 21:49:59 -0800 (PST) (envelope-from james@bigtex.jrv.org) Received: from bigtex.jrv.org (localhost [127.0.0.1]) by bigtex.jrv.org (8.12.1/8.12.1) with ESMTP id hBH5nwo8096169 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Tue, 16 Dec 2003 23:49:58 -0600 (CST) Received: (from james@localhost) by bigtex.jrv.org (8.12.1/8.12.1/Submit) id hBH5nwKF096166; Tue, 16 Dec 2003 23:49:58 -0600 (CST) Date: Tue, 16 Dec 2003 23:49:58 -0600 (CST) Message-Id: <200312170549.hBH5nwKF096166@bigtex.jrv.org> From: James Van Artsdalen To: freebsd-amd64@freebsd.org Subject: Re: emacs? X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2003 05:50:01 -0000 I got port xemacs-devel to build and run. There are two bugs: 1. An rlimit value is stored 32-bit int, truncating the value and confusing the allocator. This is in the xemacs sources. 2. unexelf.c was only using 32 bit things instead of 64. In this case it is the FreeBSD ports patch file that actually needs to change (these lines aren't present at all in the xemacs distribution). The second change should instead be something like #if sizeof(char *) == 8 or some such. *** mem-limits.h.~1~ Wed Aug 27 12:26:21 2003 --- mem-limits.h Tue Dec 16 22:10:00 2003 *************** *** 108,114 **** static POINTER data_space_start; /* Number of bytes of writable memory we can expect to be able to get */ ! extern unsigned int lim_data; #if defined (HEAP_IN_DATA) && !defined(PDUMP) extern unsigned long static_heap_size; --- 108,114 ---- static POINTER data_space_start; /* Number of bytes of writable memory we can expect to be able to get */ ! extern rlim_t lim_data; #if defined (HEAP_IN_DATA) && !defined(PDUMP) extern unsigned long static_heap_size; *** unexelf.c.~1~ Tue Dec 16 22:02:06 2003 --- unexelf.c Tue Dec 16 22:35:43 2003 *************** *** 475,481 **** # include #endif ! #if defined(__FreeBSD__) && defined(__alpha__) # ifdef __STDC__ # define ElfW(type) Elf64_##type # else --- 475,481 ---- # include #endif ! #if defined(__FreeBSD__) && (defined(__alpha__) || defined(__amd64)) # ifdef __STDC__ # define ElfW(type) Elf64_##type # else