[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#403658: lowlevellock.h missing on amd64.



Package: libc6-dev
Version: 2.3.6.ds1-9
Severity: important

Hi,

While trying to build purelibc on amd64 I get the following error:
In file included from /usr/include/libio.h:171,
                 from /usr/include/stdio.h:72,
                 from stdio.c:25:
/usr/include/bits/stdio-lock.h:24:26: error: lowlevellock.h: No such file or directory
stdio.c: In function '__overflow':
stdio.c:238: warning: control reaches end of non-void function
stdio.c: In function '_pure_assign_file':
stdio.c:261: error: 'LLL_LOCK_INITIALIZER' undeclared (first use in this function)
stdio.c:261: error: (Each undeclared identifier is reported only once
stdio.c:261: error: for each function it appears in.)
stdio.c: In function '_pure_freopen':
stdio.c:314: error: '_IO_lock_t' has no member named 'mutex'
stdio.c:320: error: '_IO_lock_t' has no member named 'mutex'
[...]

purelibc's stdio.c looks like:
#define _IO_MTSAFE_IO
#include <stdio.h>

on i386 we have:
#include <bits/libc-lock.h>
__libc_lock_define_recursive (typedef, _IO_lock_t)

Which results in:
typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t;
typedef __libc_lock_recursive_t _IO_lock_t;

on amd64 we have:
#include <bits/libc-lock.h>
#include <lowlevellock.h>

typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;


It looks to me like the version on amd64 currently isn't really working,
since the functions/defines in stdio-lock.h atleast don't work with
itself.


Kurt




Reply to: