From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: naan Newsgroups: gmane.emacs.bugs Subject: Re: make for emacs fails under OS X 10.5 Date: Tue, 30 Oct 2007 08:04:28 -0000 Organization: http://groups.google.com Message-ID: <1193731468.773433.34810@q5g2000prf.googlegroups.com> References: <93DF8565-CAA3-4D03-949D-2B8BF6C5B812@mac.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Trace: ger.gmane.org 1193740376 24472 80.91.229.12 (30 Oct 2007 10:32:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 30 Oct 2007 10:32:56 +0000 (UTC) To: bug-gnu-emacs@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Oct 30 11:32:58 2007 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1ImoP3-0004E6-Ft for geb-bug-gnu-emacs@m.gmane.org; Tue, 30 Oct 2007 11:32:57 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ImoOt-00081l-O5 for geb-bug-gnu-emacs@m.gmane.org; Tue, 30 Oct 2007 06:32:47 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!postnews.google.com!q5g2000prf.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.bug Original-Lines: 109 Original-NNTP-Posting-Host: 67.170.237.142 Original-X-Trace: posting.google.com 1193731470 30555 127.0.0.1 (30 Oct 2007 08:04:30 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Tue, 30 Oct 2007 08:04:30 +0000 (UTC) In-Reply-To: User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: q5g2000prf.googlegroups.com; posting-host=67.170.237.142; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0 Original-Xref: shelby.stanford.edu gnu.emacs.bug:43793 X-Mailman-Approved-At: Tue, 30 Oct 2007 06:32:28 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:16870 I tried this patch with my Intel Mac and it works well so far. Thanks, On Oct 29, 4:17 pm, YAMAMOTO Mitsuharu wrote: > This patch seems to work. I've tested it only on PPC as I don't have > multiple licenses for Leopard. Could you report the result if you > have Leopard on Intel Mac? > > YAMAMOTO Mitsuharu > mituh...@math.s.chiba-u.ac.jp > > Index: src/unexmacosx.c > =================================================================== > RCS file: /cvsroot/emacs/emacs/src/unexmacosx.c,v > retrieving revision 1.22.2.1 > diff -c -p -r1.22.2.1 unexmacosx.c > *** src/unexmacosx.c 25 Jul 2007 05:15:30 -0000 1.22.2.1 > --- src/unexmacosx.c 29 Oct 2007 23:09:00 -0000 > *************** unexec_regions_recorder (task_t task, vo > *** 443,457 **** > > while (num && num_unexec_regions < MAX_UNEXEC_REGIONS) > { > ! /* Subtract the size of trailing null pages from filesize. It > can be smaller than vmsize in segment commands. In such a > ! case, trailing pages are initialized with zeros. */ > ! for (p = ranges->address + ranges->size; p > ranges->address; > ! p -= sizeof (int)) > ! if (*(((int *) p)-1)) > ! break; > ! filesize = ROUNDUP_TO_PAGE_BOUNDARY (p - ranges->address); > ! assert (filesize <= ranges->size); > > unexec_regions[num_unexec_regions].filesize = filesize; > unexec_regions[num_unexec_regions++].range = *ranges; > --- 443,455 ---- > > while (num && num_unexec_regions < MAX_UNEXEC_REGIONS) > { > ! /* Subtract the size of trailing null bytes from filesize. It > can be smaller than vmsize in segment commands. In such a > ! case, trailing bytes are initialized with zeros. */ > ! for (p = ranges->address + ranges->size; p > ranges->address; p--) > ! if (*(((char *) p)-1)) > ! break; > ! filesize = p - ranges->address; > > unexec_regions[num_unexec_regions].filesize = filesize; > unexec_regions[num_unexec_regions++].range = *ranges; > *************** unexec_regions_merge () > *** 503,513 **** > --- 501,519 ---- > { > int i, n; > unexec_region_info r; > + vm_size_t padsize; > > qsort (unexec_regions, num_unexec_regions, sizeof (unexec_regions[0]), > &unexec_regions_sort_compare); > n = 0; > r = unexec_regions[0]; > + padsize = r.range.address & (pagesize - 1); > + if (padsize) > + { > + r.range.address -= padsize; > + r.range.size += padsize; > + r.filesize += padsize; > + } > for (i = 1; i < num_unexec_regions; i++) > { > if (r.range.address + r.range.size == unexec_regions[i].range.address > *************** unexec_regions_merge () > *** 520,525 **** > --- 526,542 ---- > { > unexec_regions[n++] = r; > r = unexec_regions[i]; > + padsize = r.range.address & (pagesize - 1); > + if (padsize) > + { > + if ((unexec_regions[n-1].range.address > + + unexec_regions[n-1].range.size) == r.range.address) > + unexec_regions[n-1].range.size -= padsize; > + > + r.range.address -= padsize; > + r.range.size += padsize; > + r.filesize += padsize; > + } > } > } > unexec_regions[n++] = r; > *************** print_load_command_name (int lc) > *** 562,567 **** > --- 579,589 ---- > case LC_TWOLEVEL_HINTS: > printf ("LC_TWOLEVEL_HINTS"); > break; > + #ifdef LC_UUID > + case LC_UUID: > + printf ("LC_UUID "); > + break; > + #endif > default: > printf ("unknown "); > }