tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: refine of the GSOC project
Hi Christos,
I found the reason of _SC_TIMER_MAX not being found.
Other functions that netbsd already provided but not found should have
the same reason.
Although I compiled the kernel myself (verified by uname), I found the
header files in /usr/include/sys/unistd.h is not updated. After I
copied the header file in
kernel source into /usr/include/sys/unistd.h manually, it works.
But I am wondering why a kernel build does not copy headers into the
system folders?
To update kernel faster, what I did was
cd /usr/src; ./build.sh -U -O /usr/obj -j8 kernel=<my kenrel name>
after building, I copy netbsd file into /.
Are there best practices to install header files? (copy sys headers
from kernel source into system path)
I found online that there is a command "make includes"
when I executed it in the kernel source /usr/src/sys, it promotes some errors.
By the way, thanks Matthew for letting me know nxr.netbsd.org, I
already used it.
2016-05-06 5:46 GMT-07:00 Christos Zoulas <christos%zoulas.com@localhost>:
> On May 5, 10:14pm, charles.cui1984%gmail.com@localhost (Charles Cui) wrote:
> -- Subject: refine of the GSOC project
>
> | Hi guys,
> |
> | I spend some time on researching the project and have some results.
> | Based on the results, I can split the project into multiple parts and expect
> | to complete the project in divide-and-concur way.
> |
> | I found a lot of building errors in the posix benchmark are because of
> | compiler settings. Some variables are defined and never used, some
> | other variables are set and not used. In the makefile of the posix
> | benchmark, it used -Werror and -Wall as the flags, which will report
> | those cases as errors.
> | After disabling the flags, I can classify all remaining errors into
> | multiple classes, which are listed below. In each class, it requires
> | to provide a particular macro, function or some data structures. I
> | will continue to read related code base and find the best way to solve
> | all those problems. By the way, http://nxr.netbsd.org/ is super
> | helpful to view kernel code, thanks Christos for recommending.
> |
> | timers:
> | _SC_TIMER_MAX
>
> fgrep -r _SC_TIMER_MAX /usr/include/
> /usr/include/sys/unistd.h:#define _SC_TIMER_MAX 88
>
> | _SC_CPUTIME
> | _SC_THREAD_CPUTIME
> | _SC_DELAYTIMER_MAX
>
> These can be aded
> |
> | CLOCK_PROCESS_CPUTIME_ID
> | CLOCK_THREAD_CPUTIME_ID
> | clock_getcpuclockid
> | getdate
> | strptime
> | daylight
> | timezone
> | pthread_getcpuclockid
> | struct timespec
>
> Again, some of these exist. Perhaps it is using a compiler define
> that hides them and should not?
>
> | pthreads:
> | PTHREAD_PRIO_INHERIT
> | PTHREAD_PRIO_NONE
> | PTHREAD_PRIO_PROTECT
> | PTHREAD_STACK_MIN
> | PTHREAD_ONCE_INIT
> | STACKSIZE
> | pthread_barrierattr_getpshared
> | pthread_barrierattr_setpshared
> | pthread_mutexattr_setpshared
> | pthread_mutexattr_getpshared
> | pthread_condattr_setpshared
> | pthread_condattr_getpshared
> | pthread_condattr_setclock
> | pthread_condattr_getclock
> | pthread_mutexattr_getprioceiling
> | pthread_mutexattr_setprioceiling
> | pthread_mutexattr_getprotocol
> | pthread_mutexattr_setprotocol
> | pthread_rwlockattr_getpshared
> | pthread_rwlockattr_setpshared
> | pthread_mutex_getprioceiling
> | pthread_mutex_timedlock
> | pthread_setaffinity_np
> | pthread_getattr_np
>
> fgrep -r pthread_setaffinity_np /usr/include/
> /usr/include/pthread.h:int pthread_setaffinity_np(pthread_t, size_t, cpuset_t *);
>
> | scheduler:
> | SCHED_SPORADIC
>
> Does freebsd have this?
>
> | signals:
> |
> | SIGPOLL
> | SIGRTMIN
> | SIGRTMAX
> | SIGNAL
> | SIGSTKSZ
> | SIG_INVALID
> | SIGTOTEST
> | _SC_REALTIME_SIGNALS
> | _SC_SIGQUEUE_MAX
> | SA_ONSTACK
> | SA_RESETHAND
> | SA_RESTART
> | SA_NODEFER
> | SS_ONSTACK
> | SS_DISABLE
> | MINSIGSTKSZ
>
> Real-time signals is an area we are missing.
>
> | struct sigstack
> | stack_t
> | bsd_signal
> | killpg
> | sigaltstack_test
> | sigaltstack
> | sighold
> | sigignore
> | siginterrupt
> | sigpause
> | sigrelse
> | sigset
> |
> | mmap:
> | POSIX_TYPED_MEM_ALLOCATE
> | POSIX_TYPED_MEM_ALLOCATE_CONTIG
> | POSIX_TYPED_MEM_MAP_ALLOCATABLE
> | struct posix_typed_mem_info
> | posix_mem_offset
> | posix_typed_mem_get_info
> | posix_typed_mem_open
>
> I dont know what these are
>
> | aio
> | struct rlimit
>
> We have struct rlimit, again we need to check the compilation flags.
>
> | cpuset
> | CPU_ZERO
> | CPU_SETSIZE
> | CPU_SET
> | cpu_set_t
>
> This is linux-specific; we have our own and the tests need to be adjusted
>
> |
> | semaphore
> | _SC_SEM_NSEMS_MAX
> | features.h
>
> christos
>
Home |
Main Index |
Thread Index |
Old Index