From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1RztE4-0003II-JS for mharc-grub-devel@gnu.org; Tue, 21 Feb 2012 12:10:04 -0500 Received: from eggs.gnu.org ([140.186.70.92]:56074) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RztDr-0003F7-Sg for grub-devel@gnu.org; Tue, 21 Feb 2012 12:10:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RztDm-0004Ke-W8 for grub-devel@gnu.org; Tue, 21 Feb 2012 12:09:51 -0500 Received: from mail-ey0-f169.google.com ([209.85.215.169]:49130) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RztDm-0004KS-LW for grub-devel@gnu.org; Tue, 21 Feb 2012 12:09:46 -0500 Received: by eaag11 with SMTP id g11so2827160eaa.0 for ; Tue, 21 Feb 2012 09:09:45 -0800 (PST) Received-SPF: pass (google.com: domain of phcoder@gmail.com designates 10.213.8.195 as permitted sender) client-ip=10.213.8.195; Authentication-Results: mr.google.com; spf=pass (google.com: domain of phcoder@gmail.com designates 10.213.8.195 as permitted sender) smtp.mail=phcoder@gmail.com; dkim=pass header.i=phcoder@gmail.com Received: from mr.google.com ([10.213.8.195]) by 10.213.8.195 with SMTP id i3mr3812663ebi.108.1329844185881 (num_hops = 1); Tue, 21 Feb 2012 09:09:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=YY0HCgHuMnfLQ2xg7AWKMHrCJJ1jy9n8izeCp+C5Zro=; b=H/20zW99NQhzFgwb9q5M/e7lfgXlUUgMA8OE+U/sHF12K3anbMKaZJi0LQ2x/ZZnkZ olpXxEhMMGTB/pbjtiLlnoixSF/m3+MAGGuZ9TiTKtmUjDsFgpVEY/plDG90qMegrJI0 e+IqlX/JJ5GvYW8Ek7zqPBa8ixoZvnX+cRiHI= Received: by 10.213.8.195 with SMTP id i3mr3028806ebi.108.1329844185805; Tue, 21 Feb 2012 09:09:45 -0800 (PST) Received: from debian.x201.phnet (85-234.197-178.cust.bluewin.ch. [178.197.234.85]) by mx.google.com with ESMTPS id w60sm92102902eeb.4.2012.02.21.09.09.43 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 21 Feb 2012 09:09:44 -0800 (PST) Message-ID: <4F43CFD0.3010703@gmail.com> Date: Tue, 21 Feb 2012 18:09:36 +0100 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20120216 Icedove/8.0 MIME-Version: 1.0 To: The development of GNU GRUB Subject: Lists and aliasing (Re: Freeze on 27 February) References: <4F43C25C.2040106@gmail.com> <20120221161943.GI27742@caffeine.csclub.uwaterloo.ca> In-Reply-To: <20120221161943.GI27742@caffeine.csclub.uwaterloo.ca> Content-Type: multipart/mixed; boundary="------------070107040100090104040606" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.215.169 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Feb 2012 17:10:01 -0000 This is a multi-part message in MIME format. --------------070107040100090104040606 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 21.02.2012 17:19, Lennart Sorensen wrote: > On Tue, Feb 21, 2012 at 05:12:12PM +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote: >> Hello, it's to announce that from 27th of February the GRUB will be >> frozen for 2.00 release. From that date on, no new features will be >> committed only bugfixes. >> If you have a patch which you think should be included in 2.00 you >> can ping me about it but I might answer that it's postponed after >> 2.00 >> @Richard Laager: Which of ZFS patches aren't committed yet? It's a >> bit tricky to see which ones were superseeded. > Any chance all these warnings will get fixed so powerpc can compile > without using --disable-werror? > > At this point I can't figure out what to do to convince gcc that aliasing > the list structure should be allowed. It looks like the way lists are > done in grub is simply a big hack that gcc doesn't like. > Try attached patch -- Regards Vladimir 'φ-coder/phcoder' Serbinenko --------------070107040100090104040606 Content-Type: text/x-diff; name="list.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="list.diff" === modified file 'grub-core/kern/list.c' --- grub-core/kern/list.c 2012-02-12 02:52:17 +0000 +++ grub-core/kern/list.c 2012-02-12 02:52:48 +0000 @@ -32,3 +32,24 @@ return NULL; } + +void +grub_list_push (grub_list_t *head, grub_list_t item) +{ + item->prev = head; + if (*head) + (*head)->prev = &item->next; + item->next = *head; + *head = item; +} + +void +grub_list_remove (grub_list_t item) +{ + if (item->prev) + *item->prev = item->next; + if (item->next) + item->next->prev = item->prev; + item->next = 0; + item->prev = 0; +} === modified file 'include/grub/list.h' --- include/grub/list.h 2012-02-12 02:52:17 +0000 +++ include/grub/list.h 2012-02-12 02:53:20 +0000 @@ -31,26 +31,8 @@ }; typedef struct grub_list *grub_list_t; -static inline void -grub_list_push (grub_list_t *head, grub_list_t item) -{ - item->prev = head; - if (*head) - (*head)->prev = &item->next; - item->next = *head; - *head = item; -} - -static inline void -grub_list_remove (grub_list_t item) -{ - if (item->prev) - *item->prev = item->next; - if (item->next) - item->next->prev = item->prev; - item->next = 0; - item->prev = 0; -} +void EXPORT_FUNC(grub_list_push) (grub_list_t *head, grub_list_t item); +void EXPORT_FUNC(grub_list_remove) (grub_list_t item); #define FOR_LIST_ELEMENTS(var, list) for ((var) = (list); (var); (var) = (var)->next) --------------070107040100090104040606--