diff options
author | Yang Yujie <yangyujie@loongson.cn> | 2022-05-19 16:10:15 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2022-06-08 14:45:02 +0800 |
commit | 75df1594ae56dcdcc471f138e088cfa81c48082b (patch) | |
tree | ed0e53b000d9e10502ba22f873d423f27de4b09b /gcc/expr.cc | |
parent | 5e005393d4ff0a428c5f55b9ba7f65d6078a7cf5 (diff) | |
download | gcc-75df1594ae56dcdcc471f138e088cfa81c48082b.zip gcc-75df1594ae56dcdcc471f138e088cfa81c48082b.tar.gz gcc-75df1594ae56dcdcc471f138e088cfa81c48082b.tar.bz2 |
libgccjit: allow common objects in $(EXTRA_GCC_OBJS) and $(EXTRA_OBJS)
This patch fixes libgccjit build failure on loongarch* targets,
and could probably be useful for future ports.
For now, libgccjit is linked with objects from $(EXTRA_GCC_OBJS) and
libbackend.a, which contains object files from $(EXTRA_OBJS).
This effectively forbids any overlap between those two lists, i.e. all
target-specific shared code between the gcc driver and compiler
executables must go into gcc/common/config/<arch>/<arch>-common.cc,
which feels a bit inconvenient when there are a lot of "common" stuff
that we want to put into separate source files.
By linking libgccjit with $(EXTRA_GCC_OBJS_EXCLUSIVE), which contains
all elements from $(EXTRA_GCC_OBJS) but not $(EXTRA_OBJS), this problem
can be alleviated.
This patch does not affect any other target architecture than loongarch,
and has been bootstrapped and regression-tested on loongarch64-linux-gnuf64
an x86_64-pc-linux-gnu.
* gcc/jit/ChangeLog:
* Make-lang.in: only link objects from $(EXTRA_GCC_OBJS)
that's not in $(EXTRA_OBJS) into libgccjit.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions