Added __arch_get_caller(). Correctly implemented for x86 only.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28567 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-11-08 22:09:28 +00:00
parent e30bbad2c2
commit e10b4cace5
6 changed files with 61 additions and 2 deletions
@@ -37,6 +37,7 @@ void __arch_init_time(struct real_time_data *data, bool setDefaults);
bigtime_t __arch_get_system_time_offset(struct real_time_data *data);
void __init_pwd_backend(void);
void __reinit_pwd_backend_after_fork(void);
void* __arch_get_caller(void);
#ifdef __cplusplus
+1
View File
@@ -8,6 +8,7 @@ MergeObject os_arch_$(TARGET_ARCH).o :
byteorder.S
compatibility.c # only here until the places where those functions are used
# are fixed
stack_frame.c
# systeminfo.c
system_time.c
system_time_asm.S
@@ -0,0 +1,24 @@
/*
* Copyright 2008, Ingo Weinhold, [email protected].
* Distributed under the terms of the MIT License.
*/
#include <SupportDefs.h>
#include <libroot_private.h>
void*
get_stack_frame(void)
{
// TODO: Implement!
return NULL;
}
void*
__arch_get_caller(void)
{
// TODO: Implement!
return NULL;
}
+1
View File
@@ -10,6 +10,7 @@ MergeObject os_arch_$(TARGET_ARCH).o :
byteorder.S
compatibility.c # only here until the places where those functions are used
# are fixed
stack_frame.c
# systeminfo.c
system_time.c
system_time_asm.S
@@ -0,0 +1,24 @@
/*
* Copyright 2008, Ingo Weinhold, [email protected].
* Distributed under the terms of the MIT License.
*/
#include <SupportDefs.h>
#include <libroot_private.h>
void*
get_stack_frame(void)
{
// TODO: Implement!
return NULL;
}
void*
__arch_get_caller(void)
{
// TODO: Implement!
return NULL;
}
@@ -1,13 +1,21 @@
/*
* Copyright 2005, Ingo Weinhold, bonefish@users.sf.net. All rights reserved.
* Copyright 2005-2008, Ingo Weinhold, ingo_weinhold@gmx.de.
* Distributed under the terms of the MIT License.
*/
#include <asm_defs.h>
/* void *get_stack_frame() */
/* void* get_stack_frame(void) */
FUNCTION(get_stack_frame):
mov %ebp, %eax
ret
FUNCTION_END(get_stack_frame)
/* void* __arch_get_caller(void); */
FUNCTION(__arch_get_caller):
mov 4(%ebp), %eax
ret
FUNCTION_END(__arch_get_caller)