arm.opt (mandroid): New option.
2008-07-08 Doug Kwan <dougkwan@google.com> * config/arm/arm.opt (mandroid): New option. * config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro. (LINK_SPEC): Enable Android specific behaviour when -mandroid is used. (CC1_SPEC): Same. (CC1PLUS_SPEC): Same. (LIB_SPEC): Same. (STARTFILE_SPEC): Same. (ENDFILE_SPEC): Same. (TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is used. From-SVN: r137651
This commit is contained in:
parent
310d932ee5
commit
588021c0e8
3 changed files with 58 additions and 0 deletions
|
@ -1,3 +1,16 @@
|
|||
2008-07-08 Doug Kwan <dougkwan@google.com>
|
||||
|
||||
* config/arm/arm.opt (mandroid): New option.
|
||||
* config/arm/bpabi.h (ANDROID_LINK_SPEC): New macro.
|
||||
(LINK_SPEC): Enable Android specific behaviour when -mandroid is used.
|
||||
(CC1_SPEC): Same.
|
||||
(CC1PLUS_SPEC): Same.
|
||||
(LIB_SPEC): Same.
|
||||
(STARTFILE_SPEC): Same.
|
||||
(ENDFILE_SPEC): Same.
|
||||
(TARGET_BPABI_CPP_BUILTINS): Define __ANDROID__ when -mandroid is
|
||||
used.
|
||||
|
||||
2008-07-08 Raksit Ashok <raksit@google.com>
|
||||
|
||||
* expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
|
||||
|
|
|
@ -26,6 +26,10 @@ mabort-on-noreturn
|
|||
Target Report Mask(ABORT_NORETURN)
|
||||
Generate a call to abort if a noreturn function returns
|
||||
|
||||
mandroid
|
||||
Target RejectNegative Mask(ANDROID)
|
||||
Generate code for the Android operating system.
|
||||
|
||||
mapcs
|
||||
Target RejectNegative Mask(APCS_FRAME) MaskExists Undocumented
|
||||
|
||||
|
|
|
@ -59,10 +59,19 @@
|
|||
#define SUBTARGET_EXTRA_LINK_SPEC ""
|
||||
#endif
|
||||
|
||||
#define ANDROID_LINK_SPEC \
|
||||
"%{mandroid:" \
|
||||
"%{!static:" \
|
||||
"%{shared: -Bsymbolic} " \
|
||||
"%{!shared:" \
|
||||
"%{rdynamic:-export-dynamic} " \
|
||||
"%{!dynamic-linker:-dynamic-linker /system/bin/linker}}}} "
|
||||
|
||||
/* The generic link spec in elf.h does not support shared libraries. */
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "%{mbig-endian:-EB} %{mlittle-endian:-EL} " \
|
||||
"%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \
|
||||
ANDROID_LINK_SPEC \
|
||||
"-X" SUBTARGET_EXTRA_LINK_SPEC
|
||||
|
||||
#if defined (__thumb__)
|
||||
|
@ -129,6 +138,8 @@
|
|||
do \
|
||||
{ \
|
||||
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
|
||||
if (TARGET_ANDROID) \
|
||||
builtin_define ("__ANDROID__"); \
|
||||
} \
|
||||
while (false)
|
||||
|
||||
|
@ -142,3 +153,33 @@
|
|||
#undef FINI_SECTION_ASM_OP
|
||||
#define INIT_ARRAY_SECTION_ASM_OP ARM_EABI_CTORS_SECTION_OP
|
||||
#define FINI_ARRAY_SECTION_ASM_OP ARM_EABI_DTORS_SECTION_OP
|
||||
|
||||
/* Android uses -fno-rtti and -fno-exceptions by default. */
|
||||
|
||||
#undef CC1_SPEC
|
||||
#define CC1_SPEC "%{mandroid:%{!fexceptions:-fno-exceptions}}"
|
||||
|
||||
#undef CC1PLUS_SPEC
|
||||
#define CC1PLUS_SPEC "%{mandroid:%{!frtti:-fno-rtti}}"
|
||||
|
||||
/* Startfile and endfile specs are the same as unknown-elf.h except
|
||||
for Android. */
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC \
|
||||
"%{!mandroid:%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}} " \
|
||||
"%{mandroid:-lc %{!static:-ldl}}"
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC \
|
||||
"%{!mandroid:crti%O%s crtbegin%O%s crt0%O%s} " \
|
||||
"%{mandroid:" \
|
||||
"%{!shared:" \
|
||||
"%{static:crtbegin_static%O%s} " \
|
||||
"%{!static:crtbegin_dynamic%O%s}}}"
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC \
|
||||
"%{!mandroid:crtend%O%s crtn%O%s} "\
|
||||
"%{mandroid:" \
|
||||
"%{!shared:crtend%O%s}}"
|
||||
|
|
Loading…
Add table
Reference in a new issue