crti.s (__init, __fini): Use appropriate prologue if __PIC__ is defined.

* config/bfin/crti.s (__init, __fini): Use appropriate prologue if
	__PIC__ is defined.
	* config/bfin/crtn.s: Change epilogues to match.
	* config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
	__PIC__ and __pic__.

From-SVN: r107083
This commit is contained in:
Bernd Schmidt 2005-11-16 13:20:06 +00:00 committed by Bernd Schmidt
parent b381d30b05
commit 0d88914b25
5 changed files with 36 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2005-11-16 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/crti.s (__init, __fini): Use appropriate prologue if
__PIC__ is defined.
* config/bfin/crtn.s: Change epilogues to match.
* config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
__PIC__ and __pic__.
2005-11-16 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
PR 24357

View File

@ -41,6 +41,11 @@ extern int target_flags;
{ \
builtin_define ("bfin"); \
builtin_define ("BFIN"); \
if (flag_pic) \
{ \
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} \
} \
while (0)
#endif

View File

@ -38,10 +38,21 @@ Boston, MA 02110-1301, USA. */
.globl __init
.type __init,@function
__init:
LINK 0;
#if defined __PIC__
[--SP] = P5;
#endif
LINK 12;
#if defined __PIC__
P5 = [P5 + _current_shared_library_p5_offset_]
#endif
.section .fini
.globl __fini
.type __fini,@function
__fini:
LINK 0;
#if defined __PIC__
[--SP] = P5;
#endif
LINK 12;
#if defined __PIC__
P5 = [P5 + _current_shared_library_p5_offset_]
#endif

View File

@ -36,8 +36,14 @@ Boston, MA 02110-1301, USA. */
.section .init
unlink;
#if defined __PIC__
P5 = [SP++];
#endif
rts;
.section .fini
unlink;
#if defined __PIC__
P5 = [SP++];
#endif
rts;

View File

@ -32,3 +32,5 @@ $(T)crti.o: $(srcdir)/config/bfin/crti.s $(GCC_PASSES)
$(T)crtn.o: $(srcdir)/config/bfin/crtn.s $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
-c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/bfin/crtn.s
EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crti.o crtn.o