Files
rk35xx-android14/external/toolchain-utils/compiler_wrapper/stackprotector_flags.go
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

30 lines
751 B
Go

// Copyright 2019 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package main
func processStackProtectorFlags(builder *commandBuilder) {
fstackMap := map[string]bool{"-D__KERNEL__": true, "-fno-stack-protector": true, "-nodefaultlibs": true,
"-nostdlib": true}
fstack := false
if builder.target.abi != "eabi" {
for _, arg := range builder.args {
if arg.fromUser && fstackMap[arg.value] {
fstack = true
break
}
}
}
if fstack {
builder.addPreUserArgs("-fno-stack-protector")
builder.transformArgs(func(arg builderArg) string {
if !arg.fromUser && arg.value == "-fstack-protector-strong" {
return ""
}
return arg.value
})
}
}