go main 源码

2022-07-15 浏览 (874)

golang main 代码

文件路径:/src/cmd/link/testdata/pe-llvm/main.go

/ Copyright 2020 The Go Authors. All rights reserved.
/ Use of this source code is governed by a BSD-style
/ license that can be found in the LICENSE file.

/ Test that a PE rsrc section is handled correctly, when the object files
/ have been created by llvm-rc or msvc's rc.exe, which means there's the
/ @feat.00 symbol as well as split .rsrc$00 and .rsrc$01 section to deal with.
/
/ rsrc.syso is created using llvm with:
/    {i686,x86_64,armv7,arm64}-w64-mingw32-windres -i a.rc -o rsrc_$GOARCH.syso -O coff
/ where this windres calls into llvm-rc and llvm-cvtres. The source file,
/ a.rc, simply contains a reference to its own bytes:
/
/    resname RCDATA a.rc
/
/ Object dumping the resultant rsrc.syso, we can see the split sections and
/ the @feat.00 SEH symbol:
/
/     rsrc.syso:      file format coff-x86-64
/
/     architecture: x86_64
/     start address: 0x0000000000000000
/
/     Export Table:
/     Sections:
/     Idx Name          Size     VMA              Type
/       0 .rsrc$01      00000068 0000000000000000 DATA
/       1 .rsrc$02      00000018 0000000000000000 DATA
/
/     SYMBOL TABLE:
/     [ 0](sec -1)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000011 @feat.00
/     [ 1](sec  1)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .rsrc$01
/     AUX scnlen 0x68 nreloc 1 nlnno 0 checksum 0x0 assoc 0 comdat 0
/     [ 3](sec  2)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .rsrc$02
/     AUX scnlen 0x18 nreloc 0 nlnno 0 checksum 0x0 assoc 0 comdat 0
/     [ 5](sec  2)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000000 $R000000
/     RELOCATION RECORDS FOR [.rsrc$01]:
/     OFFSET           TYPE                     VALUE
/     0000000000000048 IMAGE_REL_AMD64_ADDR32NB $R000000

package main

func main() {}

相关信息

go 源码目录

相关文章

go go_android_exec 源码

go argposition_test 源码

go badsym_test 源码

go errors_test 源码

go ptr_test 源码

go err1 源码

go err2 源码

go err4 源码

go issue11097a 源码

go issue11097b 源码

^