Elliott Hughes | 103ccde | 2013-10-16 14:27:59 -0700 | [diff] [blame] | 1 | /* Generated by gensyscalls.py. Do not edit. */ |
| 2 | |
Elliott Hughes | ed74484 | 2013-11-07 10:31:05 -0800 | [diff] [blame] | 3 | #include <private/bionic_asm.h> |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 4 | |
Dan Albert | bc9f9f2 | 2014-08-08 15:19:20 -0700 | [diff] [blame^] | 5 | .hidden __set_errno |
| 6 | |
Kenny Root | fb723c8 | 2011-02-17 10:47:44 -0800 | [diff] [blame] | 7 | ENTRY(prctl) |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 8 | mov ip, sp |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 9 | stmfd sp!, {r4, r5, r6, r7} |
Christopher Ferris | ed45970 | 2013-12-02 17:44:53 -0800 | [diff] [blame] | 10 | .cfi_def_cfa_offset 16 |
| 11 | .cfi_rel_offset r4, 0 |
| 12 | .cfi_rel_offset r5, 4 |
| 13 | .cfi_rel_offset r6, 8 |
| 14 | .cfi_rel_offset r7, 12 |
The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 15 | ldmfd ip, {r4, r5, r6} |
| 16 | ldr r7, =__NR_prctl |
| 17 | swi #0 |
| 18 | ldmfd sp!, {r4, r5, r6, r7} |
Christopher Ferris | ed45970 | 2013-12-02 17:44:53 -0800 | [diff] [blame] | 19 | .cfi_def_cfa_offset 0 |
Elliott Hughes | 9aceab5 | 2013-03-12 14:57:30 -0700 | [diff] [blame] | 20 | cmn r0, #(MAX_ERRNO + 1) |
| 21 | bxls lr |
| 22 | neg r0, r0 |
| 23 | b __set_errno |
Kenny Root | fb723c8 | 2011-02-17 10:47:44 -0800 | [diff] [blame] | 24 | END(prctl) |