[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