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
Differential D40192
build: Add missing dependencies when building kernel for amd64. • hselasky on May 21 2023, 4:14 PM. Authored by Tags None Referenced Files
Subscribers None
Details
Diff Detail
Event TimelineComment Actions 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. Comment Actions 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. Comment Actions 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. Comment Actions 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. Comment Actions Yes, vdso_offset.h would depend on the vdso. My point is that .c sources depend on vdso_offset.h, which would be a more correct dep edge, than vdso->.c (if possible to express). Comment Actions 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. --HPS |