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

TOMOYO Linux Cross Reference
Linux/arch/powerpc/kernel/vdso/vdso32.lds.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/powerpc/kernel/vdso/vdso32.lds.S (Architecture sparc) and /arch/mips/kernel/vdso/vdso32.lds.S (Architecture mips)


  1 /* SPDX-License-Identifier: GPL-2.0 */            
  2 /*                                                
  3  * This is the infamous ld script for the 32 b    
  4  * library                                        
  5  */                                               
  6 #include <asm/vdso.h>                             
  7 #include <asm/page.h>                             
  8 #include <asm-generic/vmlinux.lds.h>              
  9                                                   
 10 #ifdef __LITTLE_ENDIAN__                          
 11 OUTPUT_FORMAT("elf32-powerpcle", "elf32-powerp    
 12 #else                                             
 13 OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc"    
 14 #endif                                            
 15 OUTPUT_ARCH(powerpc:common)                       
 16                                                   
 17 SECTIONS                                          
 18 {                                                 
 19         PROVIDE(_vdso_datapage = . - 2 * PAGE_    
 20         . = SIZEOF_HEADERS;                       
 21                                                   
 22         .hash           : { *(.hash) }            
 23         .gnu.hash       : { *(.gnu.hash) }        
 24         .dynsym         : { *(.dynsym) }          
 25         .dynstr         : { *(.dynstr) }          
 26         .gnu.version    : { *(.gnu.version) }     
 27         .gnu.version_d  : { *(.gnu.version_d)     
 28         .gnu.version_r  : { *(.gnu.version_r)     
 29                                                   
 30         .note           : { *(.note.*) }          
 31                                                   
 32         . = ALIGN(16);                            
 33         .text           : {                       
 34                 *(.text .stub .text.* .gnu.lin    
 35         }                                         
 36         PROVIDE(__etext = .);                     
 37         PROVIDE(_etext = .);                      
 38         PROVIDE(etext = .);                       
 39                                                   
 40         . = ALIGN(8);                             
 41         VDSO_ftr_fixup_start = .;                 
 42         __ftr_fixup     : { *(__ftr_fixup) }      
 43         VDSO_ftr_fixup_end = .;                   
 44                                                   
 45         . = ALIGN(8);                             
 46         VDSO_mmu_ftr_fixup_start = .;             
 47         __mmu_ftr_fixup : { *(__mmu_ftr_fixup)    
 48         VDSO_mmu_ftr_fixup_end = .;               
 49                                                   
 50         . = ALIGN(8);                             
 51         VDSO_lwsync_fixup_start = .;              
 52         __lwsync_fixup  : { *(__lwsync_fixup)     
 53         VDSO_lwsync_fixup_end = .;                
 54                                                   
 55 #ifdef CONFIG_PPC64                               
 56         . = ALIGN(8);                             
 57         VDSO_fw_ftr_fixup_start = .;              
 58         __fw_ftr_fixup  : { *(__fw_ftr_fixup)     
 59         VDSO_fw_ftr_fixup_end = .;                
 60 #endif                                            
 61                                                   
 62         /*                                        
 63          * Other stuff is appended to the text    
 64          */                                       
 65         .rodata         : { *(.rodata .rodata.    
 66         .rodata1        : { *(.rodata1) }         
 67                                                   
 68         .eh_frame_hdr   : { *(.eh_frame_hdr) }    
 69         .eh_frame       : { KEEP (*(.eh_frame)    
 70         .gcc_except_table : { *(.gcc_except_ta    
 71         .fixup          : { *(.fixup) }           
 72                                                   
 73         .dynamic        : { *(.dynamic) }         
 74         .got            : { *(.got) }             
 75         .plt            : { *(.plt) }             
 76                                                   
 77         .rela.dyn       : { *(.rela .rela*) }     
 78                                                   
 79         _end = .;                                 
 80         __end = .;                                
 81         PROVIDE(end = .);                         
 82                                                   
 83         DWARF_DEBUG                               
 84         ELF_DETAILS                               
 85                                                   
 86         /DISCARD/       : {                       
 87                 *(.note.GNU-stack)                
 88                 *(*.EMB.apuinfo)                  
 89                 *(.branch_lt)                     
 90                 *(.data .data.* .gnu.linkonce.    
 91                 *(.bss .sbss .dynbss .dynsbss)    
 92                 *(.got1 .glink .iplt)             
 93         }                                         
 94 }                                                 
 95                                                   
 96 /*                                                
 97  * Very old versions of ld do not recognize th    
 98  */                                               
 99 #define PT_GNU_EH_FRAME 0x6474e550                
100                                                   
101 /*                                                
102  * We must supply the ELF program headers expl    
103  * PT_LOAD segment, and set the flags explicit    
104  */                                               
105 PHDRS                                             
106 {                                                 
107         text            PT_LOAD FILEHDR PHDRS     
108         dynamic         PT_DYNAMIC FLAGS(4);      
109         note            PT_NOTE FLAGS(4);         
110         eh_frame_hdr    PT_GNU_EH_FRAME;          
111 }                                                 
112                                                   
113 /*                                                
114  * This controls what symbols we export from t    
115  */                                               
116 VERSION                                           
117 {                                                 
118         VDSO_VERSION_STRING {                     
119         global:                                   
120                 __kernel_get_syscall_map;         
121                 __kernel_gettimeofday;            
122                 __kernel_clock_gettime;           
123                 __kernel_clock_gettime64;         
124                 __kernel_clock_getres;            
125                 __kernel_time;                    
126                 __kernel_get_tbfreq;              
127                 __kernel_sync_dicache;            
128                 __kernel_sigtramp32;              
129                 __kernel_sigtramp_rt32;           
130 #if defined(CONFIG_PPC64) || !defined(CONFIG_S    
131                 __kernel_getcpu;                  
132 #endif                                            
133                 __kernel_getrandom;               
134                                                   
135         local: *;                                 
136         };                                        
137 }                                                 
138                                                   
139 /*                                                
140  * Make the sigreturn code visible to the kern    
141  */                                               
142 VDSO_sigtramp32         = __kernel_sigtramp32;    
143 VDSO_sigtramp_rt32      = __kernel_sigtramp_rt    
                                                      

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