[Click] Click on IA64

Eddie Kohler kohler at CS.UCLA.EDU
Wed Jun 23 18:06:54 EDT 2004


The anonymous CVS version should now have a fix for this issue.

Eddie


On Jun 23, 2004, at 4:35 PM, Eddie Kohler wrote:

> Oh dear -- I know what this is: a ubiquitous Click pattern that fails 
> on 64-bit machines.  Let me check in some changes to try to fix this.
>
> (Specifics:  The right way to terminate a cp_va_parse is
>
>    cp_va_parse(conf, this, errh, ...., cpEnd)
>
> However, people (including me!) often pass 0 instead of cpEnd.  This 
> works on 32-bit machines, but on 64-bit machines, you'd have to say 
> "(void *)0" to pass enough 0 bits.  I'll change the code to say 
> cpEnd.)
>
> Eddie
>
>
> On Jun 23, 2004, at 4:26 PM, Qinghua(Kevin) Ye wrote:
>
>> Hi, Eddie,
>>
>> I am debugging it, but I have not find the reason. The debug 
>> information is:
>>
>> #0  cp_find_argtype (command=0x7f00000000 <Address 0x7f00000000 out of
>> bounds>)
>>     at ../lib/confparse.cc:2082
>> #1  0x00000000004cb97e in (anonymous
>> namespace)::CpVaHelper::develop_values(__va_list_tag*, ErrorHandler*)
>> (this=0x7fbffff190, val=0x7fbffff1c0,
>>     errh=0x7fbffff3e0) at ../lib/confparse.cc:2847
>> #2  0x00000000004cd00f in cp_va_parse(Vector<String> const&, Element*,
>> ErrorHandler*, ...) (argv=@0x7fbffff460, context=0x65e650,
>> errh=0x7fbffff3e0)
>>     at ../lib/confparse.cc:3117
>> #3  0x000000000048e6cc in Strip::configure(Vector<String>&, 
>> ErrorHandler*) (
>>     this=0x7f00000000, conf=@0x7fbffff2c8, errh=0x7fbffff2c0)
>>     at ../elements/standard/strip.cc:40
>> #4  0x00000000004d4ca6 in Router::initialize(ErrorHandler*) 
>> (this=0x65e140,
>>     errh=0x6518b0) at vector.hh:227
>> #5  0x00000000004b3f73 in parse_configuration (text=@0x7f00000000,
>>     text_is_expr=101, hotswap=false, errh=0x6518b0) at click.cc:276
>> #6  0x00000000004b4688 in main (argc=6646624, argv=0x7fbffff918)
>>     at string.hh:21
>>
>> Could you give me some idea? Thanks.
>>
>> Qinghua(Kevin) Ye
>> ----- Original Message -----
>> From: "Eddie Kohler" <kohler at CS.UCLA.EDU>
>> To: "Qinghua(Kevin) Ye" <qye at trlabs.ca>
>> Cc: <click at amsterdam.lcs.mit.edu>
>> Sent: Wednesday, June 23, 2004 5:05 PM
>> Subject: Re: [Click] Click on IA64
>>
>>
>>> Hi Qinghua,  thanks for the bug reports!  I've patched both of them.
>>>
>>> Now, can you use 'gdb' on click conf/test.click and report where it
>>> crashes?
>>>
>>> Eddie
>>>
>>>
>>> On Jun 23, 2004, at 3:43 PM, Qinghua(Kevin) Ye wrote:
>>>> Hi, Eddie,
>>>>
>>>> Thanks for your reply.
>>>>
>>>> When I run userlevel click, I used the test.click configuration file
>>>> provided in $CLICK/conf/test.click. So, I used the Align.
>>>>
>>>> The bug I encountered is as follows: (I run on Sun Fire V20Z with 
>>>> AMD
>>>> Opteron processors )
>>>> 1) There is no definition of these functions when HAVE_INT64_TYPES 
>>>> and
>>>> HAVE_64_BIT_LONG is true.
>>>>     cp_unsigned(const String &str, uint64_t *return_value)
>>>>     cp_integer(const String &str, int64_t *return_value)
>>>>     ....
>>>>    I simply commented line 80 in $CLICK/include/click/confparse.hh:
>>>>    # if !HAVE_64_BIT_LONG
>>>> 2) elements/standard/simplequeue.cc line205 and line 225, there is 
>>>> type
>>>> converting error, since in IA64, the int and void * cannot match. I
>>>> changed:
>>>>     int which = reinterpret_cast<int>(thunk);         to
>>>>     long which = reinterpret_cast<long>(thunk);
>>>>
>>>> That's all I modified. Hope to get more help from you. Thanks.
>>>>
>>>> Regards,
>>>> Qinghua(Kevin) Ye
>>>
>>
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list