Hi ERich;

Am Freitag, 3. Oktober 2014, 18:45:22 schrieb Erich Titl:
> Hi Folks
> 
> I am trying to reconnect with leaf. The uboot build still fails at the
> same place.
> How do you build uboot and what compiler version do you use

uboot should be updated, fixed whatever. It fails for me as well.
And more, uboot should be tested, documented and intergrated. 
It had been just a testand a start if someone wants to work on it.

So either ignore it, or probably you help to fix it.

kp

> on 13.02.2014 12:02, Erich Titl wrote:
> > Hi
> > 
> > While compiling 5.x I am getting stuck at uboot
> > 
> > 
> > part_efi.c: In function 'gpt_fill_pte':
> > part_efi.c:433:38: error: iteration 32u invokes undefined behavior
> > [-Werror=aggressive-loop-optimizations]
> > 
> >      (efi_char16_t)(partitions[i].name[k]);
> >      
> >                                       ^
> > 
> > part_efi.c:431:3: note: containing loop
> > 
> >    for (k = 0; k < name_len; k++)
> >    ^
> > 
> > cc1: all warnings being treated as errors
> > 
> > 
> > the gcc is from the actual toolchain
> > i486-unknown-linux-uclibc-gcc (GCC) 4.8.2
> > 
> > the code looks like
> > 
> >                 /* partition attributes */
> >                 memset(&gpt_e[i].attributes, 0,
> >                 
> >                        sizeof(gpt_entry_attributes));
> >                 
> >                 /* partition name */
> >                 name_len = sizeof(gpt_e[i].partition_name)
> >                 
> >                         / sizeof(efi_char16_t);
> >                 
> >                 for (k = 0; k < name_len; k++)
> >                 
> >                         gpt_e[i].partition_name[k] =
> >                         
> >                                 (efi_char16_t)(partitions[i].name[k]);
> > 
> > I suspect the name_len to be the culprit, because
> > 
> > name_len = sizeof(gpt_e[i].partition_name)
> > 
> >                         / sizeof(efi_char16_t);
> >  
> >  98 typedef struct _gpt_entry {
> >  99         efi_guid_t partition_type_guid;
> > 
> > 100         efi_guid_t unique_partition_guid;
> > 101         __le64 starting_lba;
> > 102         __le64 ending_lba;
> > 103         gpt_entry_attributes attributes;
> > 104         efi_char16_t partition_name[72 / sizeof (efi_char16_t)];
> > 105 } __attribute__ ((packed)) gpt_entry;
> > 
> > 
> > partition name is of type efi_char16_t, so name_len will always be 1
> > 
> > Is it possible that the compiler gets confused when trying to optimize
> > this loop?
> > Any ideas how to tackle this?
> > 
> > Thanks
> > 
> > Erich


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk

_______________________________________________
leaf-devel mailing list
leaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to