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

TOMOYO Linux Cross Reference
Linux/arch/alpha/include/asm/elf.h

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/alpha/include/asm/elf.h (Architecture mips) and /arch/sparc64/include/asm-sparc64/elf.h (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 #ifndef __ASM_ALPHA_ELF_H                         
  3 #define __ASM_ALPHA_ELF_H                         
  4                                                   
  5 #include <asm/auxvec.h>                           
  6 #include <asm/special_insns.h>                    
  7                                                   
  8 /* Special values for the st_other field in th    
  9                                                   
 10 #define STO_ALPHA_NOPV          0x80              
 11 #define STO_ALPHA_STD_GPLOAD    0x88              
 12                                                   
 13 /*                                                
 14  * Alpha ELF relocation types                     
 15  */                                               
 16 #define R_ALPHA_NONE            0       /* No     
 17 #define R_ALPHA_REFLONG         1       /* Dir    
 18 #define R_ALPHA_REFQUAD         2       /* Dir    
 19 #define R_ALPHA_GPREL32         3       /* GP     
 20 #define R_ALPHA_LITERAL         4       /* GP     
 21 #define R_ALPHA_LITUSE          5       /* Opt    
 22 #define R_ALPHA_GPDISP          6       /* Add    
 23 #define R_ALPHA_BRADDR          7       /* PC+    
 24 #define R_ALPHA_HINT            8       /* PC+    
 25 #define R_ALPHA_SREL16          9       /* PC     
 26 #define R_ALPHA_SREL32          10      /* PC     
 27 #define R_ALPHA_SREL64          11      /* PC     
 28 #define R_ALPHA_GPRELHIGH       17      /* GP     
 29 #define R_ALPHA_GPRELLOW        18      /* GP     
 30 #define R_ALPHA_GPREL16         19      /* GP     
 31 #define R_ALPHA_COPY            24      /* Cop    
 32 #define R_ALPHA_GLOB_DAT        25      /* Cre    
 33 #define R_ALPHA_JMP_SLOT        26      /* Cre    
 34 #define R_ALPHA_RELATIVE        27      /* Adj    
 35 #define R_ALPHA_BRSGP           28                
 36 #define R_ALPHA_TLSGD           29                
 37 #define R_ALPHA_TLS_LDM         30                
 38 #define R_ALPHA_DTPMOD64        31                
 39 #define R_ALPHA_GOTDTPREL       32                
 40 #define R_ALPHA_DTPREL64        33                
 41 #define R_ALPHA_DTPRELHI        34                
 42 #define R_ALPHA_DTPRELLO        35                
 43 #define R_ALPHA_DTPREL16        36                
 44 #define R_ALPHA_GOTTPREL        37                
 45 #define R_ALPHA_TPREL64         38                
 46 #define R_ALPHA_TPRELHI         39                
 47 #define R_ALPHA_TPRELLO         40                
 48 #define R_ALPHA_TPREL16         41                
 49                                                   
 50 #define SHF_ALPHA_GPREL         0x10000000        
 51                                                   
 52 /* Legal values for e_flags field of Elf64_Ehd    
 53                                                   
 54 #define EF_ALPHA_32BIT          1       /* All    
 55                                                   
 56 /*                                                
 57  * ELF register definitions..                     
 58  */                                               
 59                                                   
 60 /*                                                
 61  * The OSF/1 version of <sys/procfs.h> makes g    
 62  * I have no idea why that is so.  For now, we    
 63  * (32 general regs + processor status word).     
 64  */                                               
 65 #define ELF_NGREG       33                        
 66 #define ELF_NFPREG      32                        
 67                                                   
 68 typedef unsigned long elf_greg_t;                 
 69 typedef elf_greg_t elf_gregset_t[ELF_NGREG];      
 70                                                   
 71 typedef double elf_fpreg_t;                       
 72 typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]    
 73                                                   
 74 /*                                                
 75  * This is used to ensure we don't load someth    
 76  */                                               
 77 #define elf_check_arch(x) ((x)->e_machine == E    
 78                                                   
 79 /*                                                
 80  * These are used to set parameters in the cor    
 81  */                                               
 82 #define ELF_CLASS       ELFCLASS64                
 83 #define ELF_DATA        ELFDATA2LSB               
 84 #define ELF_ARCH        EM_ALPHA                  
 85                                                   
 86 #define ELF_EXEC_PAGESIZE       8192              
 87                                                   
 88 /* This is the location that an ET_DYN program    
 89    use of this is to invoke "./ld.so someprog"    
 90    the loader.  We need to make sure that it i    
 91    that it will "exec", and that there is suff    
 92                                                   
 93 #define ELF_ET_DYN_BASE         (TASK_UNMAPPED    
 94                                                   
 95 /* $0 is set by ld.so to a pointer to a functi    
 96    registered using atexit.  This provides a m    
 97    linker to call DT_FINI functions for shared    
 98    been loaded before the code runs.              
 99                                                   
100    So that we can use the same startup file wi    
101    we start programs with a value of 0 to indi    
102    such function.  */                             
103                                                   
104 #define ELF_PLAT_INIT(_r, load_addr)    _r->r0    
105                                                   
106 /* The registers are laid out in pt_regs for P    
107    convenience.  Re-order them for the linear     
108                                                   
109 struct pt_regs;                                   
110 struct thread_info;                               
111 struct task_struct;                               
112 extern void dump_elf_thread(elf_greg_t *dest,     
113                             struct thread_info    
114 #define ELF_CORE_COPY_REGS(DEST, REGS) \          
115         dump_elf_thread(DEST, REGS, current_th    
116                                                   
117 /* Similar, but for a thread other than curren    
118                                                   
119 extern int dump_elf_task(elf_greg_t *dest, str    
120 #define ELF_CORE_COPY_TASK_REGS(TASK, DEST) \     
121         dump_elf_task(*(DEST), TASK)              
122                                                   
123 /* This yields a mask that user programs can u    
124    instruction set this CPU supports.  This is    
125    but not so on other machines. */               
126                                                   
127 #define ELF_HWCAP  (~amask(-1))                   
128                                                   
129 /* This yields a string that ld.so will use to    
130    specific libraries for optimization.  This     
131    intent than poking at uname or /proc/cpuinf    
132                                                   
133 #define ELF_PLATFORM                              
134 ({                                                
135         enum implver_enum i_ = implver();         
136         ( i_ == IMPLVER_EV5 ? "ev56"              
137         : amask (AMASK_CIX) ? "ev6" : "ev67");    
138 })                                                
139                                                   
140 #define SET_PERSONALITY(EX)                       
141         set_personality(((EX).e_flags & EF_ALP    
142            ? PER_LINUX_32BIT : PER_LINUX)         
143                                                   
144 extern int alpha_l1i_cacheshape;                  
145 extern int alpha_l1d_cacheshape;                  
146 extern int alpha_l2_cacheshape;                   
147 extern int alpha_l3_cacheshape;                   
148                                                   
149 /* update AT_VECTOR_SIZE_ARCH if the number of    
150 #define ARCH_DLINFO                               
151   do {                                            
152     NEW_AUX_ENT(AT_L1I_CACHESHAPE, alpha_l1i_c    
153     NEW_AUX_ENT(AT_L1D_CACHESHAPE, alpha_l1d_c    
154     NEW_AUX_ENT(AT_L2_CACHESHAPE, alpha_l2_cac    
155     NEW_AUX_ENT(AT_L3_CACHESHAPE, alpha_l3_cac    
156   } while (0)                                     
157                                                   
158 #endif /* __ASM_ALPHA_ELF_H */                    
159                                                   

~ [ 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