tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: refine of the GSOC project
Are you running a kernel and userland of different versions? Don't do that,
if you're trying to do conformance testing!
On Sat, May 07, 2016 at 08:57:38PM -0700, Charles Cui wrote:
> 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
> >
--
Thor Lancelot Simon tls%panix.com@localhost
"We cannot usually in social life pursue a single value or a single moral
aim, untroubled by the need to compromise with others." - H.L.A. Hart
Home |
Main Index |
Thread Index |
Old Index