On Sun, 18 Nov 2001, Lionel Elie Mamane wrote:
It works "up to" (or down to?) loader/main.c:MAIN_MainInit(). That function calls files/directory.c:DIR_Init(), and there, it doesn't work (ie name is always empty string) in DIR_Init(). After DIR_Init() returns, it still works in MAIN_MainInit().
I tried to find a difference between these files, but they get compiled with the same compile options, combined by "ld -r" along with other .o's in files/files.o, resp. loader/loader.o, and the two latter go in libntdll.so.
What could be the difference that makes readdir "break"?
One file includes config.h before including system (libc) headers, the other does not. config.h may contain definitions that affect the structures that get included. For example, _FILE_OFFSET_BITS 64, which requests 64-bit filesystem stuff.