Thank you Ian. Best regards,
Michael > On 24. Jan 2020, at 22:19, Ian Lance Taylor <i...@golang.org> wrote: > > On Fri, Jan 24, 2020 at 1:10 PM 'Michael Stiller' via golang-nuts > <golang-nuts@googlegroups.com> wrote: >> >> playing around with tamago i noticed that if i compile with this command: >> >> GO_EXTLINK_ENABLED=0 CGO_ENABLED=0 GOOS=tamago GOARM=6 GOARCH=arm \ >> ${TAMAGO} build -ldflags "-v -T 0x00008000 -E _rt0_arm_tamago -R 0x1000" $@ >> >> The generated (elf) binary has the following symbols: >> >> nm main | sort | head >> 00008000 T internal/cpu.Initialize >> 00008000 t runtime.text >> 00008144 T internal/cpu.processOptions >> 000087d4 T internal/cpu.indexByte >> 00008848 T type..hash.internal/cpu.CacheLinePad >> 00008858 T type..eq.internal/cpu.CacheLinePad >> 00008868 T type..hash.internal/cpu.arm >> 000088b0 T type..eq.internal/cpu.arm >> 000088ec T type..hash.internal/cpu.arm64 >> 00008934 T type..eq.internal/cpu.arm64 >> >> What determines and is this configurable that internal/cpu.Initialize gets >> linked at 0x00008000? >> >> What i want to achieve is, that the -E entry symbol gets linked first at >> 0x8000. > > Nothing in particular determines that that symbol is a 0x8000. The -T > option says that the text segment will start at 0x8000. The Go linker > doesn't have any support for ordering the symbols in the text segment. > They just wind up being placed based on the order in which the linker > processes its inputs, which is unpredictable and subject to change. > > The -E option sets the value stored in the ELF ehdr's e_entry field. > > Ian -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/109F6334-906B-4E8E-B1B0-D24563A1CEF5%40ymail.com.