
Shinya
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data -ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2) +ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2) PLATFORM_CPPFLAGS += -mcpu=5208 -fPIC else PLATFORM_CPPFLAGS += -m5307 -fPIC
Let me make sure the intention of this change. With or without this
change,
we can always evaluate $(CROSS_COMPILE)gcc --version, right? Or am I missing something?
Yes, we can always evaluate $(CROSS_COMPILE)gcc --version, but not $(CC)gcc --version. The changed was from $(CC) to $(CROSS_COMPILE). This issue does not affect if compiler version is 4.1-xx and using Fedora 3 and above, and compiler version is 4.2-xx and using only Fedora 3. But, it will show compiling error if compiler version is 4.2-xx and using Fedora 4 and above.
The information will retrieve correctly from GCC when compiling the source code to object code. Until, when it starts linking the all the libs and objs, it retrieves the incorrect information from GCC and select the other PLATFORM_CPPFLAGS and causing linking errors.
There are several $(CC)/$(AR)/$(AS)/$(CPP) users in cpu/*/Makefile &
cpu/*/config.mk.
I'm wondering whether we need to fix all these usages or not.
No. Only in cpu/*/config.mk with ifeq (condition) PLATFORM_CPPFLAGS += ... else PLATFORM_CPPFLAGS += ...
Regards, TsiChung