#1144141 purelibc: stat/fstat/lstat do not work

#1144141#5
Date:
2026-08-11 15:06:09 UTC
From:
To:
Dear Maintainer,

* What led up to the situation?
  an update of the glibc
* What exactly did you do (or not do) that was effective (or ineffective)?
  system calls stat/fstat/lstat cannot be virtualized
* an updated package is needed for trixie

the following code pt.c works on purelibc 1.0.9, it fails in 1.0.8
compile it:
gcc -o pt pt.c -l purelibc
----
#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include <sys/syscall.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <purelibc.h>

static sfun _native_syscall;

static char buf[128];
static long int mysc(long int sysno, ...){
	va_list ap;
	long int a1,a2,a3,a4,a5,a6;
	va_start (ap, sysno);
	snprintf(buf,128,"SC=%d\n",sysno);
	_native_syscall(__NR_write,2,buf,strlen(buf));
	a1=va_arg(ap,long int);
	a2=va_arg(ap,long int);
	a3=va_arg(ap,long int);
	a4=va_arg(ap,long int);
	a5=va_arg(ap,long int);
	a6=va_arg(ap,long int);
	va_end(ap);
	return _native_syscall(sysno,a1,a2,a3,a4,a5,a6);
}

int main() {
	int c;
	_native_syscall=_pure_start(mysc,PUREFLAG_STDALL);
	struct stat buf;
	stat("/", &buf);
	lstat("/", &buf);
	return 0;
}
------

#1144141#10
Date:
2026-08-20 06:14:03 UTC
From:
To:
1.0.10-1 on testing and sid
1.0.8-1+deb13u2 on stable

fix the problem