Dmitry Vasilyev e64c9d1c2f
[Transforms] Allow non-regex Source in SymbolRewriter in case of using ExplicitRewriteDescriptor (#154319)
Do not check that Source is a valid regex in case of Target (explicit)
transformation. Source may contain special symbols that may cause an
incorrect `invalid regex` error.

Note that source and exactly one of [Target, Transform] must be
provided.

`Target (explicit transformation)`: In this kind of rule `Source` is
treated as a symbol name and is matched in its entirety. `Target` field
will denote the symbol name to transform to.

`Transform (pattern transformation)`: This rule treats `Source` as a
regex that should match the complete symbol name. `Transform` is a regex
specifying the name to transform to.
2025-08-26 22:52:06 +04:00

81 lines
1.3 KiB
Plaintext

function: {
source: source_function,
target: target_function,
}
global variable: {
source: source_variable,
target: target_variable,
}
function: {
source: source_function_(.*),
transform: target_\1,
}
global variable: {
source: source_variable_(.*),
transform: target_\1,
}
function: {
source: naked_source_function,
target: naked_target_function,
naked: true,
}
function: {
source: imported_function,
target: exported_function,
}
function: {
source: missing_global_leader_prefix,
target: DO_NOT_REWRITE,
}
function: {
source: first_callee,
target: renamed_callee,
}
global alias: {
source: _ZN1SC1Ev,
target: _ZN1SD1Ev,
}
function: {
source: source_comdat_function,
target: target_comdat_function,
}
function: {
source: source_comdat_function_(.*),
transform: target_comdat_function_\1,
}
global variable: {
source: source_comdat_variable,
target: target_comdat_variable,
}
global variable: {
source: source_comdat_variable_(.*),
transform: target_comdat_variable_\1,
}
function: {
source: ?source_bad_regex_function,
target: target_bad_regex_function,
}
global variable: {
source: ?source_bad_regex_variable,
target: target_bad_regex_variable,
}
global alias: {
source: ?source_bad_regex_alias,
target: target_bad_regex_alias,
}