On Mon, Jun 6, 2011 at 12:16 AM, Peter O'Gorman <po...@thewrittenword.com> wrote: > Hi, > > We ran across an issue with qt-4.7 built with gcc-4.4 on AIX 5.2, 5.3, > 6.1, and 7.1 where some static constructors were not being called. It > turned out to be a header file issue, see, for example, > https://www.ibm.com/developerworks/forums/thread.jspa?threadID=211873&tstart=-2 > > Using fixincludes to fix the header allows us to build a working qt. > > The erroneous struct declaration is: > struct fc_softc { > struct arpcom fc_ac; /* FCS common part */ > struct ndd *nddp; /* returned from NS */ > int(*efcnet_arp_fct) > (struct ndd *, struct mbuf *); /* efcnet_arp function address */ > } *fc_softc ; > > when fixed it becomes: > typedef struct _fc_softc { > struct arpcom fc_ac; /* FCS common part */ > struct ndd *nddp; /* returned from NS */ > int(*efcnet_arp_fct) > (struct ndd *, struct mbuf *); /* efcnet_arp function address */ > } *fc_softc ; > > David, do you have any idea if this is what it's supposed to be? > > Ok for trunk?
The header certainly does not make sense as is and does not follow AIX header file conventions. typedef is the only thing that makes sense, which was confirmed by some other AIX developer with whom I checked. (I would have expected fc_softc_t as well if it was intended as a typedef, but that's a separate issue.) This change is okay. I will try to find the AIX header owners to fix the problem as well. Thanks, David