[Click] linking issues

Eddie Kohler kohler at cs.ucla.edu
Mon Sep 17 09:12:52 EDT 2007


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
>>


More information about the click mailing list