Subject: Re: debugging libraries in the cross development environment
To: None <tech-toolchain@netbsd.org>
From: Bucky Katz <bucky@picovex.com>
List: tech-toolchain
Date: 09/01/2006 22:43:26
"Valeriy E. Ushakov" <uwe@ptc.spbu.ru> writes:

> On Fri, Sep 01, 2006 at 16:44:07 -0700, Bucky Katz wrote:
>
>> I need to debug libpthread in a cross platform environment, building
>> on x86 and installing on arm. Obviously, I can edit the files and then
>> use build.sh to make a distribution. But that ends up taking about 10
>> minutes on every recompile.  So I tried figuring out how to use
>> nbmake-evbarm to just do the makes in the libpthread directory, but
>> ran afould of the interaction between libpthread and libc.
>
> Once you did build.sh distribution you can build individual pieces by
> going to (in your case) /usr/src/lib/libpthread and running
> nbmake-evbarm.  Pick up the updated libpthread.* from the objdir.

This is what I though.  But when I try I get:

500: /usr/local/netbsd/evbarm/tools/bin/nbmake-evbarm

Lint pass2:
read multiply defined   pthread_cancelstub.c(343)  ::  llib-lc.ln
pselect multiply defined        pthread_cancelstub.c(313)  ::  llib-lc.ln
makecontext, arg 2 used inconsistently          llib-lc.ln[pointer to function]\
  ::  pthread.c(406)[pointer to function]
makecontext, arg 2 used inconsistently          llib-lc.ln[pointer to function]\
  ::  pthread_sig.c(1006)[pointer to function]
accept multiply defined         pthread_cancelstub.c(110)  ::  llib-lc.ln
fdatasync multiply defined      pthread_cancelstub.c(169)  ::  llib-lc.ln
pthread__runqueue value declared inconsistently         pthread.c(94)  ::  pthr\
ead_sig.c(73)
writev multiply defined         pthread_cancelstub.c(414)  ::  llib-lc.ln
fsync multiply defined          pthread_cancelstub.c(183)  ::  llib-lc.ln
msgrcv multiply defined         pthread_cancelstub.c(211)  ::  llib-lc.ln
select multiply defined         pthread_cancelstub.c(371)  ::  llib-lc.ln
connect multiply defined        pthread_cancelstub.c(138)  ::  llib-lc.ln
wait4 multiply defined          pthread_cancelstub.c(386)  ::  llib-lc.ln
write multiply defined          pthread_cancelstub.c(400)  ::  llib-lc.ln
__msync13 multiply defined      pthread_cancelstub.c(239)  ::  llib-lc.ln
poll multiply defined   pthread_cancelstub.c(270)  ::  llib-lc.ln
nanosleep multiply defined      pthread_sleep.c(74)  ::  llib-lc.ln
close multiply defined          pthread_cancelstub.c(124)  ::  llib-lc.ln
open multiply defined   pthread_cancelstub.c(253)  ::  llib-lc.ln
readv multiply defined          pthread_cancelstub.c(357)  ::  llib-lc.ln
fcntl multiply defined          pthread_cancelstub.c(152)  ::  llib-lc.ln
execve multiply defined         pthread_sig.c(1066)  ::  llib-lc.ln
msgsnd multiply defined         pthread_cancelstub.c(225)  ::  llib-lc.ln
__sigsuspend14 multiply defined         pthread_sig.c(251)  ::  llib-lc.ln

501: