forked from Imagelibrary/binutils-gdb
sim: modules.c: fix generation after recent refactors
Add explicit arch-specific modules.c rules to keep the build from generating an incorrect common/modules.c. Otherwise the pattern rules would cascade such that it'd look for $arch/modules.o which turned into common/modules.c which triggered the gen rule. My local testing of this code didn't catch this bug because of how Automake manages .Po (dependency files) in incremental builds -- it was adding extra rules that override the pattern rules which caused the build to generate correct modules.c files. But when building from a cold cache, the pattern rules would force common/modules.c to be used leading to crashes at runtime.
This commit is contained in:
@@ -45,6 +45,9 @@ $(%C%_libsim_a_OBJECTS) $(%C%_libsim_a_LIBADD): %D%/hw-config.h
|
||||
|
||||
noinst_LIBRARIES += %D%/libsim.a
|
||||
|
||||
## Override wildcards that trigger common/modules.c to be (incorrectly) used.
|
||||
%D%/modules.o: %D%/modules.c
|
||||
|
||||
%D%/%.o: common/%.c ; $(SIM_COMPILE)
|
||||
-@am__include@ %D%/$(DEPDIR)/*.Po
|
||||
|
||||
|
||||
Reference in New Issue
Block a user