Move toc.sh to use LLVM binutils
Test: build Change-Id: Ib965b6ea3fba6ae007135ac7e167cc50f0f6e3de
This commit is contained in:
parent
f8c9713fb8
commit
4ad44e713b
|
@ -182,11 +182,11 @@ var (
|
|||
blueprint.RuleParams{
|
||||
Depfile: "${out}.d",
|
||||
Deps: blueprint.DepsGCC,
|
||||
Command: "CROSS_COMPILE=$crossCompile $tocPath $format -i ${in} -o ${out} -d ${out}.d",
|
||||
Command: "CLANG_BIN=$clangBin $tocPath $format -i ${in} -o ${out} -d ${out}.d",
|
||||
CommandDeps: []string{"$tocPath"},
|
||||
Restat: true,
|
||||
},
|
||||
"crossCompile", "format")
|
||||
"clangBin", "format")
|
||||
|
||||
// Rule for invoking clang-tidy (a clang-based linter).
|
||||
clangTidy, clangTidyRE = pctx.RemoteStaticRules("clangTidy",
|
||||
|
@ -918,16 +918,12 @@ func transformSharedObjectToToc(ctx android.ModuleContext, inputFile android.Pat
|
|||
outputFile android.WritablePath, flags builderFlags) {
|
||||
|
||||
var format string
|
||||
var crossCompile string
|
||||
if ctx.Darwin() {
|
||||
format = "--macho"
|
||||
crossCompile = "${config.MacToolPath}"
|
||||
} else if ctx.Windows() {
|
||||
format = "--pe"
|
||||
crossCompile = gccCmd(flags.toolchain, "")
|
||||
} else {
|
||||
format = "--elf"
|
||||
crossCompile = gccCmd(flags.toolchain, "")
|
||||
}
|
||||
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
|
@ -936,8 +932,8 @@ func transformSharedObjectToToc(ctx android.ModuleContext, inputFile android.Pat
|
|||
Output: outputFile,
|
||||
Input: inputFile,
|
||||
Args: map[string]string{
|
||||
"crossCompile": crossCompile,
|
||||
"format": format,
|
||||
"clangBin": "${config.ClangBin}",
|
||||
"format": format,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
# Script to handle generating a .toc file from a .so file
|
||||
# Inputs:
|
||||
# Environment:
|
||||
# CROSS_COMPILE: prefix added to readelf tool
|
||||
# CLANG_BIN: path to the clang bin directory
|
||||
# Arguments:
|
||||
# -i ${file}: input file (required)
|
||||
# -o ${file}: output file (required)
|
||||
|
@ -35,34 +35,34 @@ EOF
|
|||
}
|
||||
|
||||
do_elf() {
|
||||
("${CROSS_COMPILE}readelf" -d "${infile}" | grep SONAME || echo "No SONAME for ${infile}") > "${outfile}.tmp"
|
||||
"${CROSS_COMPILE}readelf" --dyn-syms "${infile}" | awk '{$2=""; $3=""; print}' >> "${outfile}.tmp"
|
||||
("${CLANG_BIN}/llvm-readelf" -d "${infile}" | grep SONAME || echo "No SONAME for ${infile}") > "${outfile}.tmp"
|
||||
"${CLANG_BIN}/llvm-readelf" --dyn-syms "${infile}" | awk '{$2=""; $3=""; print}' >> "${outfile}.tmp"
|
||||
|
||||
cat <<EOF > "${depsfile}"
|
||||
${outfile}: \\
|
||||
${CROSS_COMPILE}readelf \\
|
||||
${CLANG_BIN}/llvm-readelf \\
|
||||
EOF
|
||||
}
|
||||
|
||||
do_macho() {
|
||||
"${CROSS_COMPILE}/otool" -l "${infile}" | grep LC_ID_DYLIB -A 5 > "${outfile}.tmp"
|
||||
"${CROSS_COMPILE}/nm" -gP "${infile}" | cut -f1-2 -d" " | (grep -v 'U$' >> "${outfile}.tmp" || true)
|
||||
"${CLANG_BIN}/llvm-objdump" -p "${infile}" | grep LC_ID_DYLIB -A 5 > "${outfile}.tmp"
|
||||
"${CLANG_BIN}/llvm-nm" -gP "${infile}" | cut -f1-2 -d" " | (grep -v 'U$' >> "${outfile}.tmp" || true)
|
||||
|
||||
cat <<EOF > "${depsfile}"
|
||||
${outfile}: \\
|
||||
${CROSS_COMPILE}/otool \\
|
||||
${CROSS_COMPILE}/nm \\
|
||||
${CLANG_BIN}/llvm-objdump \\
|
||||
${CLANG_BIN}/llvm-nm \\
|
||||
EOF
|
||||
}
|
||||
|
||||
do_pe() {
|
||||
"${CROSS_COMPILE}objdump" -x "${infile}" | grep "^Name" | cut -f3 -d" " > "${outfile}.tmp"
|
||||
"${CROSS_COMPILE}nm" -g -f p "${infile}" | cut -f1-2 -d" " >> "${outfile}.tmp"
|
||||
"${CLANG_BIN}/llvm-objdump" -x "${infile}" | grep "^Name" | cut -f3 -d" " > "${outfile}.tmp"
|
||||
"${CLANG_BIN}/llvm-nm" -g -f p "${infile}" | cut -f1-2 -d" " >> "${outfile}.tmp"
|
||||
|
||||
cat <<EOF > "${depsfile}"
|
||||
${outfile}: \\
|
||||
${CROSS_COMPILE}objdump \\
|
||||
${CROSS_COMPILE}nm \\
|
||||
${CLANG_BIN}/llvm-objdump \\
|
||||
${CLANG_BIN}/llvm-nm \\
|
||||
EOF
|
||||
}
|
||||
|
||||
|
@ -98,8 +98,8 @@ if [ -z "${depsfile:-}" ]; then
|
|||
usage
|
||||
fi
|
||||
|
||||
if [ -z "${CROSS_COMPILE:-}" ]; then
|
||||
echo "CROSS_COMPILE environment variable must be set"
|
||||
if [ -z "${CLANG_BIN:-}" ]; then
|
||||
echo "CLANG_BIN environment variable must be set"
|
||||
usage
|
||||
fi
|
||||
|
||||
|
@ -107,7 +107,7 @@ rm -f "${outfile}.tmp"
|
|||
|
||||
cat <<EOF > "${depsfile}"
|
||||
${outfile}: \\
|
||||
${CROSS_COMPILE}readelf \\
|
||||
${CLANG_BIN}/llvm-readelf \\
|
||||
EOF
|
||||
|
||||
if [ -n "${elf:-}" ]; then
|
||||
|
|
Loading…
Reference in New Issue