[Click] linking issues

Eddie Kohler kohler at cs.ucla.edu
Mon Sep 17 16:58:48 EDT 2007


I have checked in a potential fix to this linking issue.  Can people 
test it to see if it works?  Also please test a package, such as 
etc/samplepackage, to see if that compiles.

Thanks Adam especially.
Eddie


Eddie Kohler wrote:
> Later versions of Linux appear to apply some funky code rewriting to SMP 
> locks.  The SMP LOCK_PREFIX compiles to not only the "lock" instruction, but 
> also a special reference in the ".smp_locks" section that points to that 
> instruction.  When running on a uniprocessor, Linux will dynamically replace 
> that "lock" byte with some sort of noop.
> 
> Probably the solution is for Click to replace Linux's LOCK_PREFIX with its own 
> version for its own code.
> 
> Eddie
> 
> 
> Adam Greenhalgh wrote:
>> linux-2.6.19.2/include/asm-x86_64/alternative.h line 120 ish... is
>> what we think is causing this . I think there is an i386 version too.
>>
>> Adam
>>
>> On 9/14/07, Eddie Kohler <kohler at cs.ucla.edu> wrote:
>>> I just do not get this message ever.
>>>
>>> Help!!
>>>
>>> Eddie
>>>
>>>
>>> Roman Chertov wrote:
>>>> Hi Eddie,
>>>>     I now seem to get the warning all the time.  I also tried to build
>>>> with --with-linux=/lib/modules/2.6.19/build and I got the same result. I
>>>> did the usual ./configure opts, make clean, make sequence.
>>>>
>>>> Roman
>>>>
>>>> Eddie Kohler wrote:
>>>>> Hi Roman,
>>>>>
>>>>> How frustrating that you only get the warnings sometimes!
>>>>>
>>>>> So my ./configure line refers to a Linux build tree under
>>>>> /lib/modules.  Have you tried a --with-linux line like that?  e.g.
>>>>> --with-linux=/lib/modules/2.6.19.2-whatever/build ?
>>>>>
>>>>> Eddie
>>>>>
>>>>>
>>>>> rchertov at purdue.edu wrote:
>>>>>> Quoting Eddie Kohler <kohler at cs.ucla.edu>:
>>>>>>
>>>>>>> Hi Roman,
>>>>>>>
>>>>>>> I should have resolved this last night by adding Linux's $(CPPFLAGS)
>>>>>>> to the link line; at least it worked for Adam.  Are you at HEAD?
>>>>>>> (git pull)  Have you "make clean"ed?
>>>>>> Just did the git pull, make clean, and make and got the warnings.
>>>>>> Although
>>>>>> sometimes I don't get them.
>>>>>>
>>>>>> This is my config line just in case.
>>>>>> ./configure --prefix=/home/rchertov/ \
>>>>>> --with-linux=/scratch/rchertov/linux-2.6.19.2/ \
>>>>>> --enable-intel-cpu --enable-multithread=8 \
>>>>>> --disable-userlevel --enable-experimental
>>>>>>
>>>>>> Roman
>>>>>>
>>>>>>> E
>>>>>>>
>>>>>>>
>>>>>>> rchertov at purdue.edu wrote:
>>>>>>>> Hello,
>>>>>>>>    I got the latest Click with git today and I am having some
>>>>>>>> interesting
>>>>>>>> messages during linking.  I am not too strong on linking but these
>>>>>>> messages
>>>>>>>> imply that not all is well in the linking land.  Any idea what this
>>>>>>>> could
>>>>>>> be?
>>>>>>>>   CC [M] ksyms.o
>>>>>>>>   LD [M]  /home/rchertov/click-1.6/linuxmodule/click.o
>>>>>>>>   LD [M]  /home/rchertov/click-1.6/linuxmodule/proclikefs.o
>>>>>>>> ld: `.gnu.linkonce.t._ZN19ContextErrorHandlerD1Ev' referenced in
>>>>>>>> section
>>>>>>>> `.smp_locks' of /home/rchertov/click-1.6/linuxmodule/confparse.o:
>>>>>>>> defined
>>>>>>> in
>>>>>>>> discarded section `.gnu.linkonce.t._ZN19ContextErrorHandlerD1Ev' of
>>>>>>>> /home/rchertov/click-1.6/linuxmodule/confparse.o
>>>>>>>>
>>>>>>>> ld: `.gnu.linkonce.t._ZN6VectorI6StringED1Ev' referenced in section
>>>>>>> `.smp_locks'
>>>>>>>> of /home/rchertov/click-1.6/linuxmodule/lexer.o: defined in discarded
>>>>>>> section
>>>>>>>> `.gnu.linkonce.t._ZN6VectorI6StringED1Ev' of
>>>>>>>> /home/rchertov/click-1.6/linuxmodule/lexer.o
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Roman
>>>>>>>> _______________________________________________
>>>>>>>> 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
>>>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list