Do we know for sure what version of libc you need to get a working
sched_setaffinity?  That would be a good place to start.  For example,
here's a link that indicates (though not conclusively) that 2.3.6
doesn't have it, which would make it unlikely that 2.3.5 does:

https://www.codeblog.org/viewsrc/glibc-2.3.6/sysdeps/generic/sched_setaffinity.c

On Fri, Mar 6, 2009 at 10:32 AM, Bob Nagel <[email protected]> wrote:
> Hello again,
>
> Sorry for keep bothering with the problem. Is there any other
> suggestion to make it work or my only option is do the gentoo thing?.
> Did anyone try this process of copy the libc files with success to
> make work the pin command?.
>
> Thanks a lot again.
>
> 2009/3/5 Bob Nagel <[email protected]>:
>> Hi Ali and Gabe thanks for the answers:
>>
>> It is still not working. I did what  Ali proposed delete the libc*
>> files from the image and copy again the libc* files. And also I linked
>> statically the m5.c file. To be more concrete these are the steps I
>> did.
>>
>> For the compilation :  alpha-unknown-linux-gnu-gcc-3.4.3 -o m5 m5.o
>> m5op_alpha.o --static
>>
>> Regarding the libc* files, I copied them from this directory:
>> /opt/crosstool/gcc-3.4.3-glibc-2.3.5/alpha-unknown-linux-gnu/alpha-unknown-linux-gnu/lib.
>> That I believe is the same version than the compiler.
>>
>> Also I am sure that I unmount the image and the files were really
>> copied into the img. Any other suggestions? or any other way to do
>> this?.
>>
>> Thanks a lot again and sorry for the problems.
>>
>>
>> 2009/3/5 Gabriel Michael Black <[email protected]>:
>>> Also make sure you unmount the disk image before you try simulating
>>> with it. Otherwise your changes might be buffered in the kernel and
>>> not actually visible to M5.
>>>
>>> Gabe
>>>
>>> Quoting Ali Saidi <[email protected]>:
>>>
>>>> Hmm... Maybe delete libc* from the image and then copy it over incase
>>>> an old version is being used. You could also try statically linking
>>>> the m5 binary with your complier. Did you compile the m5 binary with
>>>> the same gcc/libc version?
>>>>
>>>> Ali
>>>>
>>>> On Mar 5, 2009, at 1:48 PM, Bob Nagel wrote:
>>>>
>>>>> Hi Ali thanks for your help,
>>>>>
>>>>> I am getting this error:
>>>>>
>>>>> m5: setaffinity: Function not implemented
>>>>> Done :D
>>>>>
>>>>> I believe is because there is a problem with libc. This is what I did
>>>>> I went to the directory:
>>>>>
>>>>> /opt/crosstool/gcc-3.4.3-glibc-2.3.5/alpha-unknown-linux-gnu/alpha-
>>>>> unknown-linux-gnu/lib
>>>>>
>>>>> And I copy all the libc* and libstdc++* files from there to the /lib
>>>>> directory in the disk image. Then I unmount I ran the simulation and I
>>>>> get the error I said before.
>>>>>
>>>>> Am I missing any file or something in the process to make it work?.
>>>>> Thanks a lot for your help.
>>>>>
>>>>>
>>>>> 2009/3/5 Ali Saidi <[email protected]>:
>>>>>> You need to overwrite the files you have with the ones from the cross
>>>>>> compiler. The problem is the version of libc on the disk doesn't
>>>>>> support the sched_setaffinity() call.
>>>>>>
>>>>>> Ali
>>>>>>
>>>>>> On Mar 5, 2009, at 1:33 AM, Bob Nagel wrote:
>>>>>>
>>>>>>> Hi Ali thanks a lot for your answer.
>>>>>>>
>>>>>>> I already have a bigger image so the option of copy the libc* and
>>>>>>> libstdc++* from one of the cross compilers works perfect for me.
>>>>>>> In my
>>>>>>> image I already have some libc files in the lib directory, so I just
>>>>>>> copied the files that I did not have libstdc++.so.6.0.3,
>>>>>>> libstdc++.so.6, libstdc++.so. But it did not work. Can you provide
>>>>>>> more details with what files I need to copy and where specifically
>>>>>>> in
>>>>>>> the disk image. Sorry for this simple question and thanks a lot
>>>>>>> again.
>>>>>>>
>>>>>>> 2009/3/4 Ali Saidi <[email protected]>:
>>>>>>>> Hi Bob,
>>>>>>>>
>>>>>>>> The m5 binary on the disk image that we distribute doesn't support
>>>>>>>> the
>>>>>>>> pin command. You'll need to compile it yourself. Additionally, I
>>>>>>>> don't
>>>>>>>> believe libc on the disk image supports sched_setaffinity (needed
>>>>>>>> by
>>>>>>>> pin). This is something we need to fix, but it unfortunately
>>>>>>>> involves
>>>>>>>> distributing a new disk image to everyone and updating a bunch of
>>>>>>>> regressions. You can easily make a new disk image by starting
>>>>>>>> with a
>>>>>>>> gentoo image or you can copy the libc* and libstdc++* from one of
>>>>>>>> the
>>>>>>>> cross compilers on the m5sim.org website onto the disk image (you
>>>>>>>> might need to make the actual image bigger to do this).
>>>>>>>>
>>>>>>>> Ali
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mar 4, 2009, at 11:54 AM, Bob Nagel wrote:
>>>>>>>>
>>>>>>>>> Hello all,
>>>>>>>>>
>>>>>>>>> This message is related with this one,
>>>>>>>>> http://thread.gmane.org/gmane.comp.emulators.m5.users/3939/focus=3967
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>> In that message Ali gives an explanation about how to use pin. I
>>>>>>>>> have
>>>>>>>>> been trying to use it but it seems that  when I am running the
>>>>>>>>> script
>>>>>>>>> m5 does not recognize the command, following you can see my script
>>>>>>>>> and
>>>>>>>>> the output.
>>>>>>>>>
>>>>>>>>> #!/bin/sh
>>>>>>>>> cd /parsec/install/bin
>>>>>>>>> /sbin/m5 pin 0 ./ferret /parsec/install/inputs/ferret/coreld lsh
>>>>>>>>> /parsec/install/inputs/ferret/queriesd 5 5 8
>>>>>>>>> /parsec/install/inputs/ferret/output.txt
>>>>>>>>> echo "Done :D"
>>>>>>>>> /sbin/m5 exit
>>>>>>>>>
>>>>>>>>> loading script...
>>>>>>>>> usage: m5 ivlb <interval>
>>>>>>>>>       m5 ivle <interval>
>>>>>>>>>       m5 initparam
>>>>>>>>>       m5 sw99param
>>>>>>>>>       m5 exit [delay]
>>>>>>>>>       m5 resetstats [delay [period]]
>>>>>>>>>       m5 dumpstats [delay [period]]
>>>>>>>>>       m5 dumpresetstats [delay [period]]
>>>>>>>>>       m5 checkpoint [delay [period]]
>>>>>>>>>       m5 readfile
>>>>>>>>>       m5 debugbreak
>>>>>>>>>       m5 switchcpu
>>>>>>>>>
>>>>>>>>> All times in nanoseconds!
>>>>>>>>> Done :D
>>>>>>>>>
>>>>>>>>> I looked to the code in /util/m5/m5.c and I see that the pin
>>>>>>>>> command
>>>>>>>>> is only executed if linux is define. I do not understand why the
>>>>>>>>> pin
>>>>>>>>> command is inside those defines. Also I tried to delete the
>>>>>>>>> defines
>>>>>>>>> but that did not work. Any help about how to use it?.
>>>>>>>>>
>>>>>>>>> Thanks a lot in advance.
>>>>>>>>> _______________________________________________
>>>>>>>>> m5-users mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> m5-users mailing list
>>>>>>>> [email protected]
>>>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> m5-users mailing list
>>>>>>> [email protected]
>>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> m5-users mailing list
>>>>>> [email protected]
>>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>>>
>>>>> _______________________________________________
>>>>> m5-users mailing list
>>>>> [email protected]
>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>>
>>>>
>>>> _______________________________________________
>>>> m5-users mailing list
>>>> [email protected]
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>
>>>
>>>
>>> _______________________________________________
>>> m5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>
>>
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to