[PATCH] ppc64: Fix return value of some vDSO calls
The ppc vDSO would not properly clear the return value for some calls, which will be a problem when interfacing those calls with glibc. This should be fixed before 2.6.12 is released (as it is the first kernel with the ppc vDSO) so that we don't have to play with symbol versioning and ugly workarounds. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
5fc3e624ad
Коммит
bdceb6a016
|
@ -47,6 +47,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
|
||||||
addi r6,r6,128
|
addi r6,r6,128
|
||||||
bdnz 1b
|
bdnz 1b
|
||||||
isync
|
isync
|
||||||
|
li r3,0
|
||||||
blr
|
blr
|
||||||
.cfi_endproc
|
.cfi_endproc
|
||||||
V_FUNCTION_END(__kernel_sync_dicache)
|
V_FUNCTION_END(__kernel_sync_dicache)
|
||||||
|
@ -59,6 +60,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache_p5)
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
sync
|
sync
|
||||||
isync
|
isync
|
||||||
|
li r3,0
|
||||||
blr
|
blr
|
||||||
.cfi_endproc
|
.cfi_endproc
|
||||||
V_FUNCTION_END(__kernel_sync_dicache_p5)
|
V_FUNCTION_END(__kernel_sync_dicache_p5)
|
||||||
|
|
|
@ -58,6 +58,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
|
||||||
stw r5,TZONE_TZ_DSTTIME(r11)
|
stw r5,TZONE_TZ_DSTTIME(r11)
|
||||||
|
|
||||||
1: mtlr r12
|
1: mtlr r12
|
||||||
|
li r3,0
|
||||||
blr
|
blr
|
||||||
|
|
||||||
2: mr r3,r10
|
2: mr r3,r10
|
||||||
|
|
|
@ -47,6 +47,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
|
||||||
addi r6,r6,128
|
addi r6,r6,128
|
||||||
bdnz 1b
|
bdnz 1b
|
||||||
isync
|
isync
|
||||||
|
li r3,0
|
||||||
blr
|
blr
|
||||||
.cfi_endproc
|
.cfi_endproc
|
||||||
V_FUNCTION_END(__kernel_sync_dicache)
|
V_FUNCTION_END(__kernel_sync_dicache)
|
||||||
|
@ -59,6 +60,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache_p5)
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
sync
|
sync
|
||||||
isync
|
isync
|
||||||
|
li r3,0
|
||||||
blr
|
blr
|
||||||
.cfi_endproc
|
.cfi_endproc
|
||||||
V_FUNCTION_END(__kernel_sync_dicache_p5)
|
V_FUNCTION_END(__kernel_sync_dicache_p5)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче