The elf-vdso32.so.o and elf-vdso.so.o targets build some header files
needed when building some other targets. Add the missing dependencies
to avoid compilation errors.
MFC after: 1 week
Sponsored by: NVIDIA Networking
• hselasky on May 21 2023, 4:14 PM.Authored by
It would be better if we depended on the header files directly... but if these really are files otherwise not mentioned in the build system and are purely a side effect of the o creation then this is goid.
Yes, I know, but there is no separate target for the header file at the moment. The .sh files in question do a lot of stuff.
So I thought I would just depend on the object file being there, implying all the other files are generated too.
Does config(8) allow to specify that a build step produces more than one file? This is the problem causing the use of elf-vdso.so.o as a build indicator.
Perhaps you could add vdso_offset.h as a file to files.amd64, and there specify a dependency on .o together with empty build rule.
I will double check config(8), but I suspect it is quite simple in that regards.
That's possible, but you still need the dependency keyword for the C-files in question. Either you depend on the "elf-vdso.so.o" or you depend on "vdso_offset.h". I don't know which is better.
In both cases you will need to add a manual dependency for those C-files in files.amd64 - right?
It is just the formality. C-files depend on H-files.
So I'll add a new dummy target for the header file, and use that as a dependency.