~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/parisc/kernel/vdso32/sigtramp.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/parisc/kernel/vdso32/sigtramp.S (Architecture alpha) and /arch/sparc64/kernel/vdso32/sigtramp.S (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0 */            
  2 /*                                                
  3  * Signal trampolines for 32 bit processes.       
  4  *                                                
  5  * Copyright (C) 2006 Randolph Chung <tausq@deb    
  6  * Copyright (C) 2018-2022 Helge Deller <deller    
  7  * Copyright (C) 2022 John David Anglin <dave.a    
  8  */                                               
  9 #include <asm/unistd.h>                           
 10 #include <linux/linkage.h>                        
 11 #include <generated/asm-offsets.h>                
 12                                                   
 13         .text                                     
 14                                                   
 15 /* Gdb expects the trampoline is on the stack     
 16    a 64-byte boundary by 0, 4 or 5 instruction    
 17    is not on the stack, we need a new variant     
 18    data to tell gdb where to find the signal c    
 19                                                   
 20    Here we put the offset to the context data     
 21    region and offset the first trampoline by 2    
 22    not change the trampoline as the code in gd    
 23    instruction sequence exactly.                  
 24  */                                               
 25         .align 64                                 
 26         .word SIGFRAME_CONTEXT_REGS32             
 27                                                   
 28 /* The nop here is a hack. The dwarf2 unwind r    
 29    the return address to get an address in the    
 30    call instruction. Since we don't have a cal    
 31    extend the range covered by the unwind info    
 32    the real start.                                
 33  */                                               
 34         nop                                       
 35                                                   
 36         .globl __kernel_sigtramp_rt               
 37         .type __kernel_sigtramp_rt, @function     
 38 __kernel_sigtramp_rt:                             
 39         .proc                                     
 40         .callinfo FRAME=ASM_SIGFRAME_SIZE32,CA    
 41         .entry                                    
 42                                                   
 43 .Lsigrt_start = . - 4                             
 44 0:      ldi     0, %r25                 /* (in    
 45         ldi  __NR_rt_sigreturn, %r20              
 46         ble  0x100(%sr2, %r0)                     
 47         nop                                       
 48                                                   
 49 1:      ldi     1, %r25                 /* (in    
 50         ldi  __NR_rt_sigreturn, %r20              
 51         ble  0x100(%sr2, %r0)                     
 52         nop                                       
 53 .Lsigrt_end:                                      
 54         .exit                                     
 55         .procend                                  
 56         .size __kernel_sigtramp_rt,.-__kernel_    
 57                                                   
 58                                                   
 59         .section .eh_frame,"a",@progbits          
 60                                                   
 61 /* This is where the mcontext_t struct can be     
 62 #define PTREGS SIGFRAME_CONTEXT_REGS32  /* 32-    
 63                                                   
 64 /* Register REGNO can be found at offset OFS o    
 65         .macro rsave regno,ofs                    
 66         .byte 0x05              /* DW_CFA_offs    
 67         .uleb128 \regno;        /*   regno */     
 68         .uleb128 \ofs           /*   factored     
 69         .endm                                     
 70                                                   
 71 .Lcie:                                            
 72         .long .Lcie_end - .Lcie_start             
 73 .Lcie_start:                                      
 74         .long 0                 /* CIE ID */      
 75         .byte 1                 /* Version num    
 76         .stringz "zRS"          /* NUL-termina    
 77         .uleb128 4              /* Code alignm    
 78         .sleb128 4              /* Data alignm    
 79         .byte 89                /* Return addr    
 80         .uleb128 1              /* Augmentatio    
 81         .byte 0x1b              /* DW_EH_PE_pc    
 82         .byte 0x0f              /* DW_CFA_def_    
 83         .uleb128 9f - 1f        /*   length */    
 84 1:                                                
 85         .byte 0x8e              /*   DW_OP_bre    
 86         .sleb128 PTREGS                           
 87 9:                                                
 88         .balign 4                                 
 89 .Lcie_end:                                        
 90                                                   
 91         .long .Lfde0_end - .Lfde0_start           
 92 .Lfde0_start:                                     
 93         .long .Lfde0_start - .Lcie      /* CIE    
 94         .long .Lsigrt_start - .         /* PC     
 95         .long .Lsigrt_end - .Lsigrt_start         
 96         .uleb128 0                      /* Aug    
 97                                                   
 98         /* General registers */                   
 99         rsave  1,  2                              
100         rsave  2,  3                              
101         rsave  3,  4                              
102         rsave  4,  5                              
103         rsave  5,  6                              
104         rsave  6,  7                              
105         rsave  7,  8                              
106         rsave  8,  9                              
107         rsave  9, 10                              
108         rsave 10, 11                              
109         rsave 11, 12                              
110         rsave 12, 13                              
111         rsave 13, 14                              
112         rsave 14, 15                              
113         rsave 15, 16                              
114         rsave 16, 17                              
115         rsave 17, 18                              
116         rsave 18, 19                              
117         rsave 19, 20                              
118         rsave 20, 21                              
119         rsave 21, 22                              
120         rsave 22, 23                              
121         rsave 23, 24                              
122         rsave 24, 25                              
123         rsave 25, 26                              
124         rsave 26, 27                              
125         rsave 27, 28                              
126         rsave 28, 29                              
127         rsave 29, 30                              
128         rsave 30, 31                              
129         rsave 31, 32                              
130                                                   
131         /* Floating-point registers */            
132         rsave 32, 42                              
133         rsave 33, 43                              
134         rsave 34, 44                              
135         rsave 35, 45                              
136         rsave 36, 46                              
137         rsave 37, 47                              
138         rsave 38, 48                              
139         rsave 39, 49                              
140         rsave 40, 50                              
141         rsave 41, 51                              
142         rsave 42, 52                              
143         rsave 43, 53                              
144         rsave 44, 54                              
145         rsave 45, 55                              
146         rsave 46, 56                              
147         rsave 47, 57                              
148         rsave 48, 58                              
149         rsave 49, 59                              
150         rsave 50, 60                              
151         rsave 51, 61                              
152         rsave 52, 62                              
153         rsave 53, 63                              
154         rsave 54, 64                              
155         rsave 55, 65                              
156         rsave 56, 66                              
157         rsave 57, 67                              
158         rsave 58, 68                              
159         rsave 59, 69                              
160         rsave 60, 70                              
161         rsave 61, 71                              
162         rsave 62, 72                              
163         rsave 63, 73                              
164         rsave 64, 74                              
165         rsave 65, 75                              
166         rsave 66, 76                              
167         rsave 67, 77                              
168         rsave 68, 78                              
169         rsave 69, 79                              
170         rsave 70, 80                              
171         rsave 71, 81                              
172         rsave 72, 82                              
173         rsave 73, 83                              
174         rsave 74, 84                              
175         rsave 75, 85                              
176         rsave 76, 86                              
177         rsave 77, 87                              
178         rsave 78, 88                              
179         rsave 79, 89                              
180         rsave 80, 90                              
181         rsave 81, 91                              
182         rsave 82, 92                              
183         rsave 83, 93                              
184         rsave 84, 94                              
185         rsave 85, 95                              
186         rsave 86, 96                              
187         rsave 87, 97                              
188                                                   
189         /* SAR register */                        
190         rsave 88, 102                             
191                                                   
192         /* iaoq[0] return address register */     
193         rsave 89, 100                             
194         .balign 4                                 
195 .Lfde0_end:                                       
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php