Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] Wireshark won't compile on PPC64 boxes

From: didier <dgautheron@xxxxxxxx>
Date: Wed, 27 Jan 2010 19:26:26 +0100
Hi,
Le mercredi 27 janvier 2010 ᅵ 14:56 +0100, Radek Vokᅵl a ᅵcrit :
> On 01/27/2010 09:32 AM, didier wrote:
> > Hi,
> > Le mercredi 27 janvier 2010 ᅵ 00:54 -0700, Stephen Fisher a ᅵcrit :
> >> On Tue, Jan 26, 2010 at 06:40:38PM +0100, Radek Vokï¿œl wrote:
> >>
> >>> The wireshark package cannot be build on ppc64 due to ppc64 ABI
> >>> limitation and RRC dissector source file which contains too many
> >>> string constants.
> >>
> >> That's not good :(.  I didn't realize until now that packet-rrc.c is
> >> about 7MB of text (code) with over 150,000 lines!  Only the similar
> >> dissector packet-nbap.c is even close at almost 70,000 lines at about
> >> 3.5MB.  I assume that packet-nbap.c isn't causing compilation problems
> >> on ppc64?  My first thought is to just pull packet-rrc.c from the
> >> makefile, but if you're building packages for others, then leaving out a
> >> dissector could be bad.  I wonder if it would make a difference if we
> >> converted it to be a plug-in dissector that ships with Wireshark?
> >>
> >> Lacking that, we may be able to make the ASN.1 dissector generator spit
> >> out a file that works on ppc64.  Sure seems like a lot of extra work to
> >> support one platform, but then again, maybe it would be easier to manage
> >> anyway having all of those strings handled differently.
> > There's a lot of stuff like:
> >   { "midambleAllocationMode", "rrc.midambleAllocationMode", ...
> > Is it possible to compress it to the pseudo code:
> >
> > const foo = "rrc.midambleAllocationMode"
> > {&foo +4, foo, ....
> >
> > ?
> > It should be faster on all platforms.
> >
> > Don't know if it's enough.
> >
> > Didier
> >
> 
Never mind it's about the number of toc entries, my idea doesn't work in
this case.

> The other solution would be to move all string literals to an const char 
> array and access them from that array.
Yes but with xxx_sequence_t the not const char, may blow latter though
this stuff is really big.

Didier