]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PowerPC: Fix rs6000-gen-builtins with build != host [PR102353]
authorTobias Burnus <tobias@codesourcery.com>
Thu, 16 Sep 2021 16:35:34 +0000 (18:35 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Thu, 16 Sep 2021 16:35:34 +0000 (18:35 +0200)
This mimics what the main Makefile.in does: compile the generator
files under build (with Makefile.in's 'build/%.o' rule for compilation).
It also adds $(RUN_GEN) to optionally run it with valgrind and
the $(build_exeext) suffix.

Before, the .o files were compiled with $(COMPILE), causing link
error with $(LINKER_FOR_BUILD) for build != host.

gcc/
PR target/102353
* config/rs6000/t-rs6000 (build/rs6000-gen-builtins.o, build/rbtree.o):
Added 'build/' to target, use build/%.o rule.
(build/rs6000-gen-builtins$(build_exeext)): Add 'build/' and
'$(build_exeext)' to target and 'build/' for the *.o files.
(rs6000-builtins.c): Update for those changes; run rs6000-gen-builtins
with $(RUN_GEN).

gcc/config/rs6000/t-rs6000

index 92766d8ea2530ecfc7152181c961008f04db4a53..d48a4b1be6ce23a6537c30e7c06a02a08d4ec34b 100644 (file)
@@ -44,15 +44,11 @@ rs6000-logue.o: $(srcdir)/config/rs6000/rs6000-logue.c
        $(COMPILE) $<
        $(POSTCOMPILE)
 
-rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
-       $(COMPILE) $<
-       $(POSTCOMPILE)
-
-rbtree.o: $(srcdir)/config/rs6000/rbtree.c
-       $(COMPILE) $<
-       $(POSTCOMPILE)
+build/rs6000-gen-builtins.o: $(srcdir)/config/rs6000/rs6000-gen-builtins.c
+build/rbtree.o: $(srcdir)/config/rs6000/rbtree.c
 
-rs6000-gen-builtins: rs6000-gen-builtins.o rbtree.o
+build/rs6000-gen-builtins$(build_exeext): build/rs6000-gen-builtins.o \
+                                         build/rbtree.o $(BUILD_LIBDEPS)
        $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \
            $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS)
 
@@ -62,10 +58,11 @@ rs6000-gen-builtins: rs6000-gen-builtins.o rbtree.o
 #       <recipe>
 # For now, the header files depend on rs6000-builtins.c, which avoids
 # races because the .c file is closed last in rs6000-gen-builtins.c.
-rs6000-builtins.c: rs6000-gen-builtins \
+rs6000-builtins.c: build/rs6000-gen-builtins$(build_exeext) \
                   $(srcdir)/config/rs6000/rs6000-builtin-new.def \
                   $(srcdir)/config/rs6000/rs6000-overload.def
-       ./rs6000-gen-builtins $(srcdir)/config/rs6000/rs6000-builtin-new.def \
+       $(RUN_GEN) ./build/rs6000-gen-builtins$(build_exeext) \
+               $(srcdir)/config/rs6000/rs6000-builtin-new.def \
                $(srcdir)/config/rs6000/rs6000-overload.def rs6000-builtins.h \
                rs6000-builtins.c rs6000-vecdefines.h