mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Set
_dl_profile_map only if the name matches. (_dl_start_user): Remember stack address. * sysdeps/m68k/elf/start.S: Pass new argument to __libc_start_user. Wed Jun 10 10:32:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Set _dl_profile_map only if the name matches. (_dl_start_user): Remember stack address. * sysdeps/m68k/elf/start.S: Pass new argument to __libc_start_user.
This commit is contained in:
parent
04a96fd464
commit
9e2c0dae9b
@ -1,3 +1,11 @@
|
|||||||
|
Wed Jun 10 10:32:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||||
|
|
||||||
|
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Set
|
||||||
|
_dl_profile_map only if the name matches.
|
||||||
|
(_dl_start_user): Remember stack address.
|
||||||
|
* sysdeps/m68k/elf/start.S: Pass new argument to
|
||||||
|
__libc_start_user.
|
||||||
|
|
||||||
1998-06-09 18:16 Ulrich Drepper <drepper@cygnus.com>
|
1998-06-09 18:16 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* math/Makefile (libm-calls): Add w_exp10 and e_exp10.
|
* math/Makefile (libm-calls): Add w_exp10 and e_exp10.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Machine-dependent ELF dynamic relocation inline functions. m68k version.
|
/* Machine-dependent ELF dynamic relocation inline functions. m68k version.
|
||||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -92,9 +92,14 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
|
|||||||
if (profile)
|
if (profile)
|
||||||
{
|
{
|
||||||
got[2] = (Elf32_Addr) &_dl_runtime_profile;
|
got[2] = (Elf32_Addr) &_dl_runtime_profile;
|
||||||
/* Say that we really want profiling and the timers are started. */
|
|
||||||
|
if (_dl_name_match_p (_dl_profile, l))
|
||||||
|
{
|
||||||
|
/* This is the object we are looking for. Say that we really
|
||||||
|
want profiling and the timers are started. */
|
||||||
_dl_profile_map = l;
|
_dl_profile_map = l;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
/* This function will get called to fix up the GOT entry indicated by
|
/* This function will get called to fix up the GOT entry indicated by
|
||||||
the offset on the stack, and then jump to the resolved address. */
|
the offset on the stack, and then jump to the resolved address. */
|
||||||
@ -161,6 +166,8 @@ _dl_start_user:
|
|||||||
move.l %d0, %a4
|
move.l %d0, %a4
|
||||||
| Point %a5 at the GOT.
|
| Point %a5 at the GOT.
|
||||||
lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5
|
lea _GLOBAL_OFFSET_TABLE_@GOTPC(%pc), %a5
|
||||||
|
| Remember the highest stack address.
|
||||||
|
move.l %sp, ([__libc_stack_end@GOT.w, %a5])
|
||||||
| See if we were run as a command with the executable file
|
| See if we were run as a command with the executable file
|
||||||
| name as an extra leading argument.
|
| name as an extra leading argument.
|
||||||
move.l ([_dl_skip_args@GOT.w, %a5]), %d0
|
move.l ([_dl_skip_args@GOT.w, %a5]), %d0
|
||||||
|
@ -50,6 +50,10 @@ _start:
|
|||||||
move.l %sp, %a0 /* The argument vector starts just at the
|
move.l %sp, %a0 /* The argument vector starts just at the
|
||||||
current stack top. */
|
current stack top. */
|
||||||
|
|
||||||
|
/* Provide the highest stack address to the user code (for stacks
|
||||||
|
which grow downward). */
|
||||||
|
pea (%sp)
|
||||||
|
|
||||||
pea (%a1) /* Push address of the shared library
|
pea (%a1) /* Push address of the shared library
|
||||||
termination function. */
|
termination function. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user