wang baohua wrote: > Dear all, > I study the U-boot.bin file using the objdump command, I don't know how > the CPU can find the right string address when puts() string. > For example, In my binary file, the string "Call backtrace: " in func > "print_backtrace()" address is :0x0002b280, the func address is > 0xfff03564, How the CPU can find the 0x0002b280 when call puts ("Call > backtrace: "); ? I find the SMC serial driver > "serial_putc()" but cannot know how to find the char address in binary > file. > > Below is the objdump result, can anyone explain to me ? thanks!
Please don't post HTML, use plain text. I don't understand your question, why are you asking it? Are you trying to figure out a problem or are you just trying to understand the linking processes? Using objdump on u-boot.bin is not valid. U-boot.bin is a binary file, objdump works on ELF (linker formatted) files. <http://en.wikipedia.org/wiki/Executable_and_Linkable_Format> When you link the ELF files, the linker fixes up all the addresses so the linker sets the proper address in the instruction that the CPU ultimately executes. The u-boot.bin file is a raw binary dump of the result. Was that your question??? Best regards, gvb ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users