How to generate remote_toolchain_inputs file?
I saw that reclient determines which toolchain resource files need to be uploaded by reading the remote_toolchain_inputs file. If I have a new project with its own compiler toolchain, how can I generate an accurate remote_toolchain_inputs file? In addition, this method seems to yield more results than those obtained recursively by goma calling readelf. Could this lead to unnecessary transmission overhead?
You can run strace to run the toolchain binary (something like strace -ff -trace=openat <toolchain program>) and find out all the files opened by the toolchain binary during its execution.
The format of the file is just a flat list of files / directories that will be uploaded along with the action for remote execution.
In addition, this method seems to yield more results than those obtained recursively by goma calling readelf. Could this lead to unnecessary transmission overhead?
Ah not sure what Goma does, but even with remote_toolchain_inputs file, the inputs will be uploaded to CAS once. In subsequent actions, as long as the files exist in CAS, we don't reupload.
Closing out, please reopen if you need further info.