Pthread不能在ARMv7 NetBSD5.1目标中工作

时间:2016-02-09 07:38:32

标签: arm pthreads netbsd

我编译了一个简单的pthread_create程序,并在ARMv7目标(cortex a9 CPU)上的NetBSD5.1中执行相同的程序。

程序sigfaults。相同的pthread程序在另一台PC上运行没有任何问题。

以下是示例程序

void *PrintHello(void *threadid){
    long tid, i;
    tid = (long)threadid;
    for (i=0; i<PRINT_REPEAT; i++) {
        printf("Hello World! It's me, thread #%ld!\n", tid); 
    };
    pthread_exit(NULL);
}

int main (int argc, char *argv[])
{
    pthread_t threads[NUM_THREADS];
    int rc;
    int t;
    printf("PrintHello is %p\r\n",(void *)PrintHello);
    for(t=0; t<NUM_THREADS; t++){
        rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
    if (rc){
        printf("ERROR; return code from pthread_create() is %d\n", rc);
        }
       }
    pthread_exit(NULL);
}

任何关于此的指示都会非常有帮助。我发现在执行程序时会引发data_abort_handler异常。

0 个答案:

没有答案