X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Date: Wed, 13 May 2015 20:13:37 +0300 From: "Eli Zaretskii (eliz AT gnu DOT org)" Subject: Re: bad pragma in dir.h? (and our structrure packing) In-reply-to: X-012-Sender: halo1 AT inter DOT net DOT il To: djgpp AT delorie DOT com Message-id: <83k2wcjt8e.fsf@gnu.org> References: Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Wed, 13 May 2015 18:29:39 +0300 > From: "Ozkan Sezer (sezeroz AT gmail DOT com)" > > In dir.h, structs ffblk and ffblklfn are surrounded by #pragma pack(1) > and #pragma pack(4), obviously with purpose of having those two structs > at byte packing. But the restoration of the original packing by that > #pragma pack(4) seems wrong: do we not need a #pragma pack() in there, > or am I missing something? Wasn't that already fixed in the past? I have vague recollections of having discussed that long ago, o maybe look in the archives (of this list or or djgpp-workers). > While I was there, I also noticed that for structure packing in coff.h, > dir.h and dos.h we are marking every member with __attribute__((packed) > instead of giving the attribute to the stucture itself. What is the > reason for it? See the DJGPP FAQ (node "Struct size"): it tells that the GNU C++ compiler doesn't allow having that attribute on the entire struct. Perhaps that's changed nowadays, I don't know. (Btw, which compiler versions should be supported by djdev205? That is, which versions of GCC are supported to compile the library?)