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