Re: Padding in gcc

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

 



On Mon, 2007-07-09 at 17:10 +0530, Rajat Jain wrote:
> Hi,
> 
> Perhaps a little offtopic but no harm in trying ...
> 
> Can we always rely on the fact that gcc will pad the following structure?
> 
> typedef struct {
>     int descrp;      SYSCALL64_STRUCT_ATTR;
>     (Automatic padding here?)
>     long long pos;   SYSCALL64_STRUCT_ATTR;
>     int mode;        SYSCALL64_STRUCT_ATTR;
> } lseek64_t;
> 
> What is the correct way to make it portable? Explicitly added padding fields?
> 
> Thanks,
> 
> Rajat
> -
> To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.linux-learn.org/faqs

Unless you explicitly say this structure is packed
(__attribute__((packed))) gcc will align it... for sure you need to take
care for yourself when you are trying to use different cache lines for
members of this structure.

Anyway, the code itself is portable, since you are just using C.


cya,


rodrigo (BSDaemon).

-- 
Rodrigo Rubira Branco
Software Engineer 
Advanced Linux Response Team (ALRT) / Linux on Power Toolchain
IBM Linux Technology Center (IBM/LTC)
rrbranco@xxxxxxxxxx

GPG KeyID: 1FCEDEA1

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux