how to build libthr except other components of 'world'

Kernel development, writing drivers, coding, and questions regarding FreeBSD internals.

how to build libthr except other components of 'world'

Postby UnixStudier » 17 Nov 2009, 00:35

I checkout FreeBSD‘s current source codes to my /usr/src, and use command
Code: Select all
make buildworld

in directory /usr/src to build a world.I want to do something debug to lib /usr/src/lib/libthr.If I modified some files in /usr/src/lib/libthr/thread, how could I build libthr except other components of world?
If I use
Code: Select all
make buildworld

in dirctory /usr/src,it rebuilt [color="Black"]all[/color] world .It takes time too long.
btw,I execute command
Code: Select all
make

in /usr/src/lib/libthr get this :
Code: Select all
cc -O2 -fno-strict-aliasing -pipe  -DPTHREAD_KERNEL -I/usr/src/lib/libthr/../libc/include -I/usr/src/lib/libthr/thread  -I/usr/src/lib
/libthr/../../include -I/usr/src/lib/libthr/arch/i386/include -I/usr/src/lib/libthr/sys -I/usr/src/lib/libthr/../../libexec/rtld-elf -I/usr
/src/lib/libthr/../../libexec/rtld-elf/i386 -I/usr/src/lib/libthr/../libthread_db -Winline -D_PTHREADS_INVARIANTS -DSYSCALL_COMPAT -Wsystem-
headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized
-Wno-pointer-sign -c /usr/src/lib/libthr/arch/i386/i386/pthread_md.c
In file included from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:33:
/usr/src/lib/libthr/../../include/string.h:86: warning: no previous prototype for 'strdup'
/usr/src/lib/libthr/../../include/string.h: In function 'strdup':
/usr/src/lib/libthr/../../include/string.h:86: error: expected declaration specifiers before '__malloc_like'
/usr/src/lib/libthr/../../include/string.h:96: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:101: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:104: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__malloc_like'
/usr/src/lib/libthr/../../include/string.h:105: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:108: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:110: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:111: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:118: warning: '__pure__' attribute ignored
/usr/src/lib/libthr/../../include/string.h:119: warning: '__pure__' attribute ignored
In file included from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:34:
/usr/src/lib/libthr/../../libexec/rtld-elf/rtld_tls.h:60: error: storage class specified for parameter '_rtld_allocate_tls'
/usr/src/lib/libthr/../../libexec/rtld-elf/rtld_tls.h:67: error: storage class specified for parameter '_rtld_free_tls'
In file included from /usr/src/lib/libthr/arch/i386/include/pthread_md.h:36,
                 from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:36:
/usr/src/lib/libthr/../../include/stddef.h:45: error: storage class specified for parameter 'ptrdiff_t'
/usr/src/lib/libthr/../../include/stddef.h:49: error: storage class specified for parameter 'rune_t'
/usr/src/lib/libthr/../../include/stddef.h:61: error: storage class specified for parameter 'wchar_t'
In file included from /usr/src/lib/libthr/arch/i386/i386/pthread_md.c:36:
/usr/src/lib/libthr/arch/i386/include/pthread_md.h:52: warning: empty declaration
/usr/src/lib/libthr/arch/i386/include/pthread_md.h:88: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/usr/src/lib/libthr/arch/i386/include/pthread_md.h:95: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/usr/src/lib/libthr/arch/i386/include/pthread_md.h:102: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/usr/src/lib/libthr/arch/i386/i386/pthread_md.c:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/usr/src/lib/libthr/arch/i386/i386/pthread_md.c:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/usr/src/lib/libthr/arch/i386/i386/pthread_md.c:57: error: old-style parameter declarations in prototyped function definition
/usr/src/lib/libthr/../../include/string.h:86: error: parameter name omitted
/usr/src/lib/libthr/arch/i386/i386/pthread_md.c:57: error: expected '{' at end of input
*** Error code 1

Stop in /usr/src/lib/libthr.

----------------------------------
thanks.
UnixStudier
Junior Member
 
Posts: 3
Joined: 17 Nov 2009, 00:05
Location: Beijing,China

Postby crsd » 17 Nov 2009, 00:48

try [cmd=#]make cleandir; make obj; make depend; make[/cmd]
crsd
Member
 
Posts: 420
Joined: 24 Nov 2008, 02:15
Location: Russia, Krasnodar

Postby UnixStudier » 17 Nov 2009, 01:46

crsd wrote:try [cmd=#]make cleandir; make obj; make depend; make[/cmd]


I try it in /usr/src,but it does not work.
UnixStudier
Junior Member
 
Posts: 3
Joined: 17 Nov 2009, 00:05
Location: Beijing,China

Postby crsd » 17 Nov 2009, 02:19

You don't try it in /usr/src; try it in /usr/src/lib/libthr

Or just do full [cmd=#]make buildworld[/cmd]
crsd
Member
 
Posts: 420
Joined: 24 Nov 2008, 02:15
Location: Russia, Krasnodar

Postby UnixStudier » 17 Nov 2009, 04:49

I use command :
[cmd=#]make -DNOCLEAN _libraries[/cmd]

in directory /usr/src to build libthr.Its time is not too long me.
UnixStudier
Junior Member
 
Posts: 3
Joined: 17 Nov 2009, 00:05
Location: Beijing,China


Return to FreeBSD Development

Who is online

Users browsing this forum: No registered users and 0 guests