Merge remote-tracking branch 'origin/GP-5083_d-millar_warn_def_lang'

This commit is contained in:
Ryan Kurtz 2024-11-04 07:53:41 -05:00
commit c702d7c66d
3 changed files with 25 additions and 13 deletions

View File

@ -1,17 +1,17 @@
## ###
# IP: GHIDRA
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# IP: GHIDRA
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##
from ghidratrace.client import Address, RegVal
from pybag import pydbg
@ -182,13 +182,17 @@ def compute_ghidra_compiler(lang):
# Check if the selected lang has specific compiler recommendations
if not lang in compiler_map:
print(f"{lang} not found in compiler map")
return 'default'
comp_map = compiler_map[lang]
if comp_map == data64_compiler_map:
print(f"Using the DATA64 compiler map")
osabi = get_osabi()
if osabi in comp_map:
return comp_map[osabi]
if None in comp_map:
return comp_map[None]
print(f"{osabi} not found in compiler map")
return 'default'

View File

@ -164,13 +164,17 @@ def compute_ghidra_compiler(lang):
# Check if the selected lang has specific compiler recommendations
if not lang in compiler_map:
print(f"{lang} not found in compiler map")
return 'default'
comp_map = compiler_map[lang]
if comp_map == data64_compiler_map:
print(f"Using the DATA64 compiler map")
osabi = get_osabi()
if osabi in comp_map:
return comp_map[osabi]
if None in comp_map:
return comp_map[None]
print(f"{osabi} not found in compiler map")
return 'default'

View File

@ -225,14 +225,18 @@ def compute_ghidra_compiler(lang):
key=lambda l: compiler_map[l]
)
if len(matched_lang) == 0:
print(f"{lang} not found in compiler map")
return 'default'
comp_map = compiler_map[matched_lang[0]]
if comp_map == data64_compiler_map:
print(f"Using the DATA64 compiler map")
osabi = get_osabi()
if osabi in comp_map:
return comp_map[osabi]
if None in comp_map:
return comp_map[None]
print(f"{osabi} not found in compiler map")
return 'default'