This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][ARM] Support arm-android-eabi
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: =?big5?b?RG91ZyBLd2FuICjD9q62vHcp?= <dougkwan at google dot com>
- Cc: Mark Mitchell <mark at codesourcery dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 9 Jul 2008 17:10:53 +0000 (UTC)
- Subject: Re: [PATCH][ARM] Support arm-android-eabi
- References: <498552560806271116o2f5618f6m230c1453dfa873c4@mail.gmail.com> <48656BAA.9080107@codesourcery.com> <498552560806281105y4b57ba94p53d375cb5cafed3a@mail.gmail.com> <4867D662.2040203@codesourcery.com> <498552560806291228q25344823k4c3a9644c45f1cf2@mail.gmail.com> <4867E4D9.8040503@codesourcery.com> <498552560806301522l721a55d6qc31cf0e929f7e825@mail.gmail.com>
This patch has broken the build for arm-*-linux-gnueabi; it's now looking
for a crt0.o file that's inappropriate for this target.
The patch adds definitions of the macros CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,
STARTFILE_SPEC, ENDFILE_SPEC unconditionally to bpabi.h. However, some
ARM targets rely on the definitions of these macros provided by previous
headers (or maybe on the macros not being defined when a subsequent header
is included - I don't know about that possibility), and the replacements
are inappropriate for those targets. In the case of arm-*-linux-gnueabi,
at least your definition of STARTFILE_SPEC is wrong.
You need to fix GCC so that all targets including bpabi.h (that is
arm*-*-linux-*eabi, arm*-*-uclinux-*eabi, arm*-*-eabi*,
arm*-*-symbianelf*) have the same definitions of these macros (after the
full set of target headers is included) they used to, except for the
intended Android definitions for the generic arm*-*-eabi* only. (It's
probably harmless for the other targets to handle -mandroid, but also
unnecessary.) Note that the definitions may depend on how the compiler
was configured in some cases (the STARTFILE_SPEC definition in
config/linux.h does). One possibility would be that these new definitions
go in a separate header only included for the generic arm*-*-eabi* target
(note that I have not checked that these new definitions are the same as
the old ones for that target unless you use -mandroid).
--
Joseph S. Myers
joseph@codesourcery.com