How can a c++ program compiled with -m32 flag do 64-bit system calls?

  32-bit, c++, compilation, openmp

I have been compiling c++ binaries from a benchmark suite using the -m32 bit flag. I intended to run these in a computer system simulator which only supports 32-bit ELFs. However this binary is doing a system call that is not supported named getdents64 which is a 64-bit system call. I thought this was not possible due to the -m32 flag. What am I misunderstanding here? The code itself does use openmp calls and is compiled with the -fopenmp flag. Is openmp the culprit here or something else?

Source: Windows Questions C++

LEAVE A COMMENT