grub-devel
[Top][All Lists]
Advanced

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

Issue in netbsd_bootinfo.h


From: Seth Goldberg
Subject: Issue in netbsd_bootinfo.h
Date: Tue, 8 Nov 2011 16:14:32 -0800 (PST)
User-agent: Alpine 2.00 (GSO 1167 2008-08-23)

Hi,

The following structure definition is causing linker failures (not with GNU ld) when building GRUB2:

struct grub_netbsd_btinfo_bootwedge {
  grub_uint32_t biosdev;
  grub_disk_addr_t startblk;
  grub_uint64_t nblks;
  grub_disk_addr_t matchblk;
  grub_uint64_t matchnblks;
  grub_uint8_t matchhash[16];  /* MD5 hash */
} __packed;


The question is: Is this a valid way to declare a structure with a packed data structure on NetBSD? Or did you mean to add "__attribute__((packed))" there? The linker error is due to multiply-defined __packed symbols:

ld: fatal: symbol '__packed' is multiply-defined:
        (file loader/i386/bsd_module-bsd.o type=OBJT; file 
loader/i386/bsd_module-bsd32.o type=OBJT);
ld: fatal: symbol '__packed' is multiply-defined:
        (file loader/i386/bsd_module-bsd.o type=OBJT; file 
loader/i386/bsd_module-bsd64.o type=OBJT);
ld: fatal: file processing errors. No output written to bsd.module

 --S




reply via email to

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