Re: confused kernel compressed code link address
hi Arn Ks, thx for your reply. So there is no global variables during the decompress process of kernel. best regards 2014-05-12 14:06 GMT+08:00 Arun KS getaru...@gmail.com: Hi Chuck Huang, On Thu, May 8, 2014 at 5:25 PM, Chuck Huang chuck.ker...@gmail.com wrote: Dear all, Now i am looking into kernel decompressed code, arch/arm/boot/compressed/head.S As i objdump arch/arm/boot/compressed/vmlinux, the start section address is 0x0. vmlinux.S 373789| Disassembly of section .text: 373790| 373791| start: 373792| #endif if the code run in 0x8000 (which is DDR base address), but the link address is zero, how it works ? The compressed/head.S code is position independent code. It can be loaded anywhere in RAM. There will not be reference to any labels directly. All the address references are done relative to PC. Thanks, Arun best regards ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: confused kernel compressed code link address
Hi Chuck Huang, On Thu, May 8, 2014 at 5:25 PM, Chuck Huang chuck.ker...@gmail.com wrote: Dear all, Now i am looking into kernel decompressed code, arch/arm/boot/compressed/head.S As i objdump arch/arm/boot/compressed/vmlinux, the start section address is 0x0. vmlinux.S 373789| Disassembly of section .text: 373790| 373791| start: 373792| #endif if the code run in 0x8000 (which is DDR base address), but the link address is zero, how it works ? The compressed/head.S code is position independent code. It can be loaded anywhere in RAM. There will not be reference to any labels directly. All the address references are done relative to PC. Thanks, Arun best regards ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
confused kernel compressed code link address
Dear all, Now i am looking into kernel decompressed code, arch/arm/boot/compressed/head.S As i objdump arch/arm/boot/compressed/vmlinux, the start section address is 0x0. vmlinux.S 373789| Disassembly of section .text: 373790| 373791| start: 373792| #endif if the code run in 0x8000 (which is DDR base address), but the link address is zero, how it works ? best regards ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies