Commit 1274718f by Chung-Lin Tang Committed by Chung-Lin Tang

mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips16 guards.

2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
	directives, remove #ifndef __mips16 guards.
	* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
	mapping style, add ../lib/mips16.
	(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
	(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.

From-SVN: r190774
parent 867a8345
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
directives, remove #ifndef __mips16 guards.
* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
mapping style, add ../lib/mips16.
(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
2012-08-28 Walter Lee <walt@tilera.com>
* confg/tilegx/tilegx.md: Fix code style.
(*zero_extendsidi_truncdisi): Fix typo.
......
......@@ -2793,7 +2793,6 @@ while (0)
#define STORE_BY_PIECES_P(SIZE, ALIGN) \
mips_store_by_pieces_p (SIZE, ALIGN)
#ifndef __mips16
/* Since the bits of the _init and _fini function is spread across
many object files, each potentially with its own GP, we must assume
we need to load our GP. We don't preserve $gp or $ra, since each
......@@ -2802,27 +2801,32 @@ while (0)
#if (defined _ABIO32 && _MIPS_SIM == _ABIO32)
#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
asm (SECTION_OP "\n\
.set push\n\
.set nomips16\n\
.set noreorder\n\
bal 1f\n\
nop\n\
1: .cpload $31\n\
.set reorder\n\
jal " USER_LABEL_PREFIX #FUNC "\n\
.set pop\n\
" TEXT_SECTION_ASM_OP);
#endif /* Switch to #elif when we're no longer limited by K&R C. */
#if (defined _ABIN32 && _MIPS_SIM == _ABIN32) \
|| (defined _ABI64 && _MIPS_SIM == _ABI64)
#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
asm (SECTION_OP "\n\
.set push\n\
.set nomips16\n\
.set noreorder\n\
bal 1f\n\
nop\n\
1: .set reorder\n\
.cpsetup $31, $2, 1b\n\
jal " USER_LABEL_PREFIX #FUNC "\n\
.set pop\n\
" TEXT_SECTION_ASM_OP);
#endif
#endif
#ifndef HAVE_AS_TLS
#define HAVE_AS_TLS 0
......
......@@ -18,4 +18,12 @@
MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
MULTILIB_DIRNAMES = n32 32 64
MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
MULTILIB_OSDIRNAMES = mabi.n32=../lib32
MULTILIB_OSDIRNAMES += mabi.32=../lib
MULTILIB_OSDIRNAMES += mabi.64=../lib64
# MIPS16 is currently only supported under O32
MULTILIB_OPTIONS += mips16
MULTILIB_DIRNAMES += mips16
MULTILIB_OSDIRNAMES += mabi.32/mips16=../lib/mips16
MULTILIB_EXCLUSIONS = !mabi=32/mips16
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment