Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a73e6725 authored by Yabin Cui's avatar Yabin Cui Committed by Gerrit Code Review
Browse files

Merge "symbol_inject: add step to codesign Mach-O binaries."

parents 3636a06f 7f5f22b2
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -94,4 +94,13 @@ func main() {
		os.Remove(*output)
		os.Exit(5)
	}

	if file.IsMachoFile {
		err = symbol_inject.CodeSignMachoFile(*output)
		if err != nil {
			fmt.Fprintln(os.Stderr, err.Error())
			os.Remove(*output)
			os.Exit(6)
		}
	}
}
+7 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ import (
	"debug/macho"
	"fmt"
	"io"
	"os/exec"
	"sort"
	"strings"
)
@@ -40,7 +41,7 @@ func extractMachoSymbols(machoFile *macho.File) (*File, error) {
		return symbols[i].Value < symbols[j].Value
	})

	file := &File{}
	file := &File{IsMachoFile: true}

	for _, section := range machoFile.Sections {
		file.Sections = append(file.Sections, &Section{
@@ -95,3 +96,8 @@ func dumpMachoSymbols(r io.ReaderAt) error {

	return nil
}

func CodeSignMachoFile(path string) error {
	cmd := exec.Command("/usr/bin/codesign", "--force", "-s", "-", path)
	return cmd.Run()
}
+4 −3
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ type File struct {
	r           io.ReaderAt
	Symbols     []*Symbol
	Sections    []*Section
	IsMachoFile bool
}

type Symbol struct {