grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Various build failures in current bzr tree


From: Lennart Sorensen
Subject: Re: Various build failures in current bzr tree
Date: Fri, 10 Feb 2012 15:39:44 -0500
User-agent: Mutt/1.5.20 (2009-06-14)

On Fri, Feb 10, 2012 at 03:31:49PM -0500, Lennart Sorensen wrote:
> On Fri, Feb 10, 2012 at 08:56:52PM +0100, Vladimir 'φ-coder/phcoder' 
> Serbinenko wrote:
> > === modified file 'docs/grub.texi'
> > --- docs/grub.texi  2012-01-31 21:59:32 +0000
> > +++ docs/grub.texi  2012-02-10 17:11:59 +0000
> > @@ -20,7 +20,7 @@
> >  This manual is for GNU GRUB (version @value{VERSION},
> >  @value{UPDATED}).
> >  
> > -Copyright @copyright{} 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free 
> > Software Foundation, Inc.
> > +Copyright @copyright{} 
> > 1999,2000,2001,2002,2004,2006,2008,2009,2010,2011,2012 Free Software 
> > Foundation, Inc.
> >  
> >  @quotation
> >  Permission is granted to copy, distribute and/or modify this document
> > 
> > === modified file 'gentpl.py'
> > --- gentpl.py       2011-12-24 14:09:26 +0000
> > +++ gentpl.py       2012-02-10 17:10:18 +0000
> > @@ -1,4 +1,19 @@
> >  #! /usr/bin/python
> > +#  GRUB  --  GRand Unified Bootloader
> > +#  Copyright (C) 2010,2011  Free Software Foundation, Inc.
> > +#
> > +#  GRUB is free software: you can redistribute it and/or modify
> > +#  it under the terms of the GNU General Public License as published by
> > +#  the Free Software Foundation, either version 3 of the License, or
> > +#  (at your option) any later version.
> > +#
> > +#  GRUB is distributed in the hope that it will be useful,
> > +#  but WITHOUT ANY WARRANTY; without even the implied warranty of
> > +#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > +#  GNU General Public License for more details.
> > +#
> > +#  You should have received a copy of the GNU General Public License
> > +#  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
> >  
> >  #
> >  # This is the python script used to generate Makefile.tpl
> > 
> > === modified file 'grub-core/disk/diskfilter.c'
> > --- grub-core/disk/diskfilter.c     2012-02-09 22:43:43 +0000
> > +++ grub-core/disk/diskfilter.c     2012-02-10 19:54:58 +0000
> > @@ -260,6 +260,24 @@
> >    return list;
> >  }
> >  
> > +void
> > +grub_diskfilter_print_partmap (grub_disk_t disk)
> > +{
> > +  struct grub_diskfilter_lv *lv = disk->data;
> > +  struct grub_diskfilter_pv *pv;
> > +
> > +  if (lv->vg->pvs)
> > +    for (pv = lv->vg->pvs; pv; pv = pv->next)
> > +      {
> > +   grub_size_t s;
> > +   if (!pv->disk)
> > +     grub_util_error (_("Couldn't find physical volume `%s'."
> > +                        " Check your device.map"), pv->name);
> > +   for (s = 0; pv->partmaps[s]; s++)
> > +     grub_printf ("%s ", pv->partmaps[s]);
> > +      }
> > +}
> > +
> >  static const char *
> >  grub_diskfilter_getname (struct grub_disk *disk)
> >  {
> > @@ -964,6 +982,19 @@
> >         pv->part_start = grub_partition_get_start (disk->partition);
> >         pv->part_size = grub_disk_get_size (disk);
> >  
> > +#ifdef GRUB_UTIL
> > +       {
> > +         grub_size_t s = 1;
> > +         grub_partition_t p;
> > +         for (p = disk->partition; p; p = p->parent)
> > +           s++;
> > +         pv->partmaps = xmalloc (s * sizeof (pv->partmaps[0]));
> > +         s = 0;
> > +         for (p = disk->partition; p; p = p->parent)
> > +           pv->partmaps[s++] = xstrdup (p->partmap->name);
> > +         pv->partmaps[s++] = 0;
> > +       }
> > +#endif
> >         if (start_sector != (grub_uint64_t)-1)
> >           pv->start_sector = start_sector;
> >         pv->start_sector += pv->part_start;
> > 
> > === modified file 'include/grub/diskfilter.h'
> > --- include/grub/diskfilter.h       2012-01-29 13:28:01 +0000
> > +++ include/grub/diskfilter.h       2012-02-10 19:53:29 +0000
> > @@ -72,6 +72,9 @@
> >    struct grub_diskfilter_pv *next;
> >    /* Optional.  */
> >    grub_uint8_t *internal_id;
> > +#ifdef GRUB_UTIL
> > +  char **partmaps;
> > +#endif
> >  };
> >  
> >  struct grub_diskfilter_lv {
> > @@ -186,6 +189,8 @@
> >  struct grub_diskfilter_pv *
> >  grub_diskfilter_get_pv_from_disk (grub_disk_t disk,
> >                               struct grub_diskfilter_vg **vg);
> > +void
> > +grub_diskfilter_print_partmap (grub_disk_t disk);
> >  #endif
> >  
> >  #endif /* ! GRUB_RAID_H */
> > 
> > === modified file 'util/getroot.c'
> > --- util/getroot.c  2012-02-10 12:17:12 +0000
> > +++ util/getroot.c  2012-02-10 18:48:24 +0000
> > @@ -372,7 +372,7 @@
> >    char *buf = NULL;
> >    size_t len = 0;
> >    char **ret = NULL;
> > -  int entry_len = 0, entry_max = 4;
> > +  grub_size_t entry_len = 0, entry_max = 4;
> >    struct mountinfo_entry *entries;
> >    struct mountinfo_entry parent_entry = { 0, 0, 0, "", "", "", "" };
> >    int i;
> > @@ -1991,7 +1991,7 @@
> >                     const grub_partition_t partition)
> >        {
> >     grub_disk_addr_t part_start = 0;
> > -   grub_util_info ("Partition %d starts from %lu",
> > +   grub_util_info ("Partition %d starts from %" PRIuGRUB_UINT64_T,
> >                     partition->number, partition->start);
> >  
> >     part_start = grub_partition_get_start (partition);
> > @@ -2022,7 +2022,7 @@
> >     return 0;
> >        }
> >  
> > -    grub_util_info ("%s starts from %lu", os_dev, start);
> > +    grub_util_info ("%s starts from %" PRIuGRUB_UINT64_T, os_dev, start);
> >  
> >      if (start == 0 && device_is_wholedisk (os_dev))
> >        return name;
> > 
> > === modified file 'util/grub-probe.c'
> > --- util/grub-probe.c       2012-02-10 11:57:00 +0000
> > +++ util/grub-probe.c       2012-02-10 19:56:18 +0000
> > @@ -87,6 +87,9 @@
> >    for (part = disk->partition; part; part = part->parent)
> >      printf ("%s ", part->partmap->name);
> >  
> > +  if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID)
> > +    grub_diskfilter_print_partmap (disk);
> > +
> >    /* In case of LVM/RAID, check the member devices as well.  */
> >    if (disk->dev->memberlist)
> >      {
> > @@ -304,7 +307,7 @@
> >    raid_level = probe_raid_level (disk);
> >    if (raid_level >= 0)
> >      {
> > -      printf ("raid ");
> > +      printf ("diskfilter ");
> 
> Yep, that one looks good.
> 
> >        if (disk->dev->raidname)
> >     printf ("%s ", disk->dev->raidname (disk));
> >      }
> > 
> 
> OK that seems to fix getroot.c and diskfilter.c
> 
> Now of course there is luks.c:
> 
> gcc-4.4 -DHAVE_CONFIG_H -I. -I../..  -Wall -W -I./include -DGRUB_UTIL=1 
> -DGRUB_LIBDIR=\"/usr/lib/grub\" -DLOCALEDIR=\"/usr/share/locale\"  
> -DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=POWERPC_EMU -DGRUB_TARGET_CPU_POWERPC=1 
> -DGRUB_FILE=\"grub-core/disk/luks.c\" -I. -I../.. -I. -I../.. -I../../include 
> -I./include  -I./grub-core/gnulib -I../../grub-core/gnulib                -g 
> -Wall -O2 -Wall -W -Wshadow -Wold-style-declaration -Wold-style-definition 
> -Wpointer-arith -Wmissing-prototypes -Wundef -Wextra -Waddress -Warray-bounds 
> -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts 
> -Wclobbered -Wcomment -Wcoverage-mismatch -Wdeprecated 
> -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body 
> -Wendif-labels -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args 
> -Wformat-security -Wformat-y2k -Wignored-qualifiers -Wimplicit 
> -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline 
> -Wint-to-pointer-cast -Winvalid-pch -Wunsafe-loop-optimizations -Wlogical-op 
> -Wmain -Wmissing-br
> aces -Wmissing-field-initializers -Wmissing-format-attribute 
> -Wmissing-noreturn -Wmudflap -Wmultichar -Wnonnull -Woverflow 
> -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-to-int-cast 
> -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstack-protector 
> -Wstrict-aliasing -Wstrict-overflow -Wswitch -Wsync-nand -Wtrigraphs  
> -Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wunreachable-code 
> -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-result 
> -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var 
> -Wwrite-strings -Wmissing-declarations -Wmissing-parameter-type  
> -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wpointer-sign 
> -Werror  -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter 
> -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion 
> -Wno-old-style-definition                -c -o 
> grub-core/disk/libgrubkern_a-luks.o `test -f 'grub-core/disk/luks.c' || echo 
> '../../'`grub-core/disk/luks.c
> cc1: warnings being treated as errors
> ../../grub-core/disk/luks.c: In function 'configure_ciphers':
> ../../grub-core/disk/luks.c:107: error: assuming pointer wraparound does not 
> occur when comparing P +- C1 with P +- C2
> ../../grub-core/disk/luks.c: In function 'grub_luks_init':
> ../../include/grub/list.h:40: error: dereferencing pointer 'cr.27' does break 
> strict-aliasing rules
> ../../include/grub/list.h:37: error: dereferencing pointer 'cr.27' does break 
> strict-aliasing rules
> ../../include/grub/cryptodisk.h:114: note: initialized from here
> ../../include/grub/list.h:41: error: dereferencing pointer 
> 'grub_cryptodisk_list.26' does break strict-aliasing rules
> ../../include/grub/cryptodisk.h:114: note: initialized from here
> ../../grub-core/disk/luks.c: In function 'grub_mod_init':
> ../../include/grub/list.h:40: error: dereferencing pointer 'cr.27' does break 
> strict-aliasing rules
> ../../include/grub/list.h:37: error: dereferencing pointer 'cr.27' does break 
> strict-aliasing rules
> ../../include/grub/cryptodisk.h:114: note: initialized from here
> ../../include/grub/list.h:41: error: dereferencing pointer 
> 'grub_cryptodisk_list.26' does break strict-aliasing rules
> ../../include/grub/cryptodisk.h:114: note: initialized from here
> ../../grub-core/disk/luks.c: In function 'grub_luks_fini':
> ../../include/grub/list.h:52: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:51: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:50: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:50: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:49: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:48: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:48: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:47: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/cryptodisk.h:121: note: initialized from here
> ../../grub-core/disk/luks.c: In function 'grub_mod_fini':
> ../../include/grub/list.h:52: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:51: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:50: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:50: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:49: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:48: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:48: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/list.h:47: error: dereferencing pointer 'cr.28' does break 
> strict-aliasing rules
> ../../include/grub/cryptodisk.h:121: note: initialized from here
> ../../grub-core/disk/luks.c: In function 'configure_ciphers':
> ../../grub-core/disk/luks.c:107: error: assuming pointer wraparound does not 
> occur when comparing P +- C1 with P +- C2
> ../../grub-core/disk/luks.c:68: error: assuming pointer wraparound does not 
> occur when comparing P +- C1 with P +- C2
> ../../grub-core/disk/luks.c:107: error: assuming pointer wraparound does not 
> occur when comparing P +- C1 with P +- C2

I just did a fresh tree and applied the patch to it and did a fresh build (I 
think I made a mess of it) and now get:

gcc-4.4 -DHAVE_CONFIG_H -I. -I../..  -Wall -W -I./include -DGRUB_UTIL=1 
-DGRUB_LIBDIR=\"/usr/lib/grub\" -DLOCALEDIR=\"/usr/share/locale\"  
-DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=POWERPC_EMU -DGRUB_TARGET_CPU_POWERPC=1 
-DGRUB_FILE=\"grub-core/kern/emu/hostdisk.c\" -I. -I../.. -I. -I../.. 
-I../../include -I./include  -I./grub-core/gnulib -I../../grub-core/gnulib      
          -g -Wall -O2 -Wall -W -Wshadow -Wold-style-declaration 
-Wold-style-definition -Wpointer-arith -Wmissing-prototypes -Wundef -Wextra 
-Waddress -Warray-bounds -Wattributes -Wbuiltin-macro-redefined -Wcast-align 
-Wchar-subscripts -Wclobbered -Wcomment -Wcoverage-mismatch -Wdeprecated 
-Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body 
-Wendif-labels -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args 
-Wformat-security -Wformat-y2k -Wignored-qualifiers -Wimplicit 
-Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline 
-Wint-to-pointer-cast -Winvalid-pch -Wunsafe-loop-optimizations -Wlogical-op 
-Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute 
-Wmissing-noreturn -Wmudflap -Wmultichar -Wnonnull -Woverflow 
-Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-to-int-cast 
-Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstack-protector 
-Wstrict-aliasing -Wstrict-overflow -Wswitch -Wsync-nand -Wtrigraphs  
-Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wunreachable-code 
-Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-result 
-Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var 
-Wwrite-strings -Wmissing-declarations -Wmissing-parameter-type  
-Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wpointer-sign 
-Werror  -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter 
-Wno-redundant-decls -Wno-unreachable-code -Wno-conversion 
-Wno-old-style-definition                -c -o 
grub-core/kern/emu/libgrubkern_a-hostdisk.o `test -f 
'grub-core/kern/emu/hostdisk.c' || echo '../../'`grub-core/kern/emu/hostdisk.c
cc1: warnings being treated as errors
../../grub-core/kern/emu/hostdisk.c: In function 'open_device':
../../include/grub/list.h:41: error: dereferencing pointer 
'linux_partition_cache_list.66' does break strict-aliasing rules
../../grub-core/kern/emu/hostdisk.c:717: note: initialized from here

-- 
Len Sorensen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]