test: enable debug testing
This commit is contained in:
@@ -122,7 +122,6 @@ const (
|
||||
|
||||
func Do(args []string, conf *Config) ([]Package, error) {
|
||||
flags, patterns, verbose := ParseArgs(args, buildFlags)
|
||||
cl.EnableDebugSymbols(IsDebugEnabled())
|
||||
flags = append(flags, "-tags", "llgo")
|
||||
cfg := &packages.Config{
|
||||
Mode: loadSyntax | packages.NeedDeps | packages.NeedModule | packages.NeedExportFile,
|
||||
@@ -138,6 +137,7 @@ func Do(args []string, conf *Config) ([]Package, error) {
|
||||
}
|
||||
}
|
||||
|
||||
cl.EnableDebugSymbols(IsDebugEnabled())
|
||||
llssa.Initialize(llssa.InitAll)
|
||||
|
||||
target := &llssa.Target{
|
||||
@@ -187,7 +187,7 @@ func Do(args []string, conf *Config) ([]Package, error) {
|
||||
})
|
||||
|
||||
buildMode := ssaBuildMode
|
||||
if cl.DebugSymbols() {
|
||||
if IsDebugEnabled() {
|
||||
buildMode |= ssa.GlobalDebug
|
||||
}
|
||||
if !IsOptimizeEnabled() {
|
||||
@@ -460,7 +460,7 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, linkArgs
|
||||
}
|
||||
}
|
||||
args = append(args, exargs...)
|
||||
if cl.DebugSymbols() {
|
||||
if IsDebugEnabled() {
|
||||
args = append(args, "-gdwarf-4")
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,13 @@ func GenFrom(fileOrPkg string) string {
|
||||
}
|
||||
|
||||
func genFrom(pkgPath string) (build.Package, error) {
|
||||
oldDbg := os.Getenv("LLGO_DEBUG")
|
||||
dbg := isDbgSymEnabled(filepath.Join(pkgPath, "flags.txt"))
|
||||
if dbg {
|
||||
os.Setenv("LLGO_DEBUG", "1")
|
||||
}
|
||||
defer os.Setenv("LLGO_DEBUG", oldDbg)
|
||||
|
||||
conf := &build.Config{
|
||||
Mode: build.ModeGen,
|
||||
AppExt: build.DefaultAppExt(),
|
||||
@@ -49,8 +56,22 @@ func DoFile(fileOrPkg, outFile string) {
|
||||
check(err)
|
||||
}
|
||||
|
||||
func SmartDoFile(pkgPath ...string) {
|
||||
pkg, err := genFrom(pkgPath[0])
|
||||
func isDbgSymEnabled(flagsFile string) bool {
|
||||
data, err := os.ReadFile(flagsFile)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
toks := strings.Split(strings.Join(strings.Split(string(data), "\n"), " "), " ")
|
||||
for _, tok := range toks {
|
||||
if tok == "-dbg" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func SmartDoFile(pkgPath string) {
|
||||
pkg, err := genFrom(pkgPath)
|
||||
check(err)
|
||||
|
||||
const autgenFile = "llgo_autogen.ll"
|
||||
|
||||
Reference in New Issue
Block a user