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:
parent
b381d30b05
commit
0d88914b25
5 changed files with 36 additions and 3 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue