On Tuesday, March 8, 2016, Daniel Kiper <daniel.ki...@oracle.com> wrote:
> On Mon, Mar 07, 2016 at 08:42:38PM +0000, Vladimir 'phcoder' Serbinenko > wrote: > > Le lun. 7 mars 2016 14:35, Daniel Kiper <daniel.ki...@oracle.com > <javascript:;>> a écrit : > > > > > Hi, > > > > > > Does anybody know why only multiboot2 multiboot_mmap_entry struct > > > has packed attribute? Is it by design or by mistake? I think that > > > we should use packed attribute for every multiboot2 protocol related > > > struct. If not then we should probably remove this attribute from > > > multiboot_mmap_entry struct too. What do you think about that? > > > > > We put packed only when it changes relative offsets of members or size of > > the structure. Is it the case for structures you have in mind? > > I do not have anything specific. However, it looks like stray stuff. > > Hmmm... I took a look at multiboot_mmap_entry once again and it seems > that this struct really does not need packed attribute. All members are > in right order and even compiler should not add padding. Am I right? > Yes, good catch. > > Anyway, maybe we should add somewhere in the header comment saying that > all/most of multiboot2 structures are build in a way that fulfill alignment > requirements out of the box and compiler does not need to do any > rearrangements. > However, we should warn that new extensions should be added carefully and > some structs may require GRUB_PACKED attribute in the future to properly > represent added interface. > This probably should go to spec rather than the header file. > > Or we can add GRUB_PACKED to every struct. However, this seems redundant > here. > There is no chance that somebody will rearrange, especially blindly, > existing structs. > > Daniel > -- Regards Vladimir 'phcoder' Serbinenko
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel