Linking error and memory bloating for .so file creation

Hi Team,

During the linking stage for an “.so” file creation, an error message is being flagged by clang.

ld: error: write: Function not implemented

I’m not able to make a sense out of this message as it seems different from an “undefined reference” error. There are multiple occurrence of this message during the linking process.

Also the linking doesn’t complete and the output “.so” keeps on bloating reaching size upto 1TB or 100s of GB. Manual termination is required to stop this process.

Any leads would be appreciated.

Just a guess, but perhaps this is not a linking error at all. This looks to me like ld calling write() and the call itself returning ENOSYS. Is there something unusual about the filesystem you’re writing to? If the write fails but the file size also increases, I wonder if what you’re seeing is some sort of I/O error. Anything exciting in dmesg and friends?

Hi Ankush,


We are generating the .so file for the Android ARM 64 flavor on Windows platform.

Following is the version info for the “clang++.exe” executable used for generating the .so file.

F:\Debug>“F:\androidndk.16.1.9\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe” -v

  • Android clang version 5.0.300080 (based on LLVM 5.0.300080)
  • Target: x86_64-unknown-linux
  • Thread model: posix

Note: No I/O error is getting reported during the link run. Also we are witnessing this issue when moving
from “gnustl” to “LibC++” support for standard C++ library.

The linker flags used are attached with the mail. It would be good if some linker flags be turned on
to further debug the link run.

linker_flags.txt (713 Bytes)