Re: Update to RSTP lib

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

 



On Mon, 12 Jan 2009 15:42:11 -0500
Manish Talreja <mtalreja@xxxxxxxxxxxx> wrote:

> Here are the unified diff files as requested.
> 
> You are right about #pragma pack(). That's supported on pretty much all compilers. However, __attribute__ is not supported on all compilers and that's what was used in the original code. Our goal was to leave the gcc syntax the way it was in the original code. If you are ok with getting rid of the __attribute__((packed)), the code will be a lot more readable.
> 
> -Manish
> 
> 
> -----Original Message-----
> From: richardvoigt@xxxxxxxxx [mailto:richardvoigt@xxxxxxxxx]
> Sent: Monday, January 12, 2009 3:01 PM
> To: Manish Talreja
> Cc: bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  Update to RSTP lib
> 
> If you want your patch to be understandable, create it as a contextual
> diff with the -u option.
> 
> Do the pack pragmas really need to be conditional?  Pretty much every
> compiler will do the right thing on encountering those.  (Using
> __attribute__ as well, for compilers that support it, isn't a bad
> thing but no need to avoid #pragma pack on gcc).
> 
> On Mon, Jan 12, 2009 at 1:22 PM, Manish Talreja <mtalreja@xxxxxxxxxxxx> wrote:
> > We have been using the RSTP implementation posted at this location:
> >
> > https://lists.linux-foundation.org/pipermail/bridge/2008-May/005859.html
> >
> >
> >
> > We have modified rstp.c and rstp.h to work with compilers other than gcc.
> > Attached are two patch files that show our changes. Currently, we have
> > tested this code with the Diab compiler (v 4.4a) and with IAR compiler (v
> > 5.11).
> >

I would rather the code be cleaned out of the ugly macro's ifdef's.
Also only use pack if necessary (ie unaligned struct like:
      struct {
           char a;
	   unsigned b;
       };
If all fields are correct types to be naturally packed, then pack
is unnecessary. Compiler's aren't smart enough to recognize this
and assume misalignment so they will generate bloated code for anything
with #pragma pack

_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge

[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux