Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ns32ktoolchain [2023/04/12 07:48] – [Building binutils] adminns32ktoolchain [2023/04/12 07:56] (current) – [Standalone binaries] admin
Line 177: Line 177:
 The option ''-ffreestanding'' disables "hosted" environment where ''main()'' is the first "user" function in the programm called by  **crt0.o**. The option ''-ffreestanding'' disables "hosted" environment where ''main()'' is the first "user" function in the programm called by  **crt0.o**.
  
-NOTE! GCC sometimes emits "built-in" functions like ''__udivdi3'' and requres "compiler runtime" library [[https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html|libgcc]] for target processor. Smplify arithmetic expressions.+NOTE! GCC sometimes emits "built-in" functions like ''__udivdi3'' and requres "compiler runtime" library [[https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html|libgcc]] for target processor. Just smplify your arithmetic expressions to avoid this.
  
-Another useful GCC option is ''-fomit-frame-pointer'' - it disables usage of the ''fp'' register (frame pointer) and use ''sp''-related (stack pointer) addressing for local variables like "old" compilers. GCC also supports ''-fpic'' option to compile PIC (Position-Independent Code) with ''sb''-related addressing ''0(_glblvar(sb))''.+Another useful GCC option is''-fomit-frame-pointer'' - it disables usage of the ''fp'' register (frame pointer) and use ''sp''-related (stack pointer) addressing for local variables like "old" compilers. GCC also supports ''-fpic'' option to compile PIC (Position-Independent Code) with ''sb''-related addressing ''0(_glblvar(sb))''.
  
 Test object file with disassembler: Test object file with disassembler:
Line 238: Line 238:
  -Ttext 0x0 -M -Map emutest.map  -o emutest.bin emutest.o  -Ttext 0x0 -M -Map emutest.map  -o emutest.bin emutest.o
 </code> </code>
 +GNU ld [[https://sourceware.org/binutils/docs/ld.pdf|documentation]] .
 +
 To check  binary file: To check  binary file:
 <code> <code>
Line 243: Line 245:
 ns32k-pc532-netbsd-objdump.exe -D -x --target=binary -m ns32k emutest.bin ns32k-pc532-netbsd-objdump.exe -D -x --target=binary -m ns32k emutest.bin
 </code> </code>
-Run ''emul32k'' emulator:+Run ''emul32k'' emulator and binary file:
 <code> <code>
  ./emul32k emutest.bin  ./emul32k emutest.bin
Navigation