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