mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GP-5083: print warnings
This commit is contained in:
parent
73224da27b
commit
c06fc18cc2
3 changed files with 51 additions and 39 deletions
|
@ -1,17 +1,17 @@
|
||||||
## ###
|
## ###
|
||||||
# IP: GHIDRA
|
# IP: GHIDRA
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
#
|
#
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
#
|
#
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
##
|
##
|
||||||
from ghidratrace.client import Address, RegVal
|
from ghidratrace.client import Address, RegVal
|
||||||
from pybag import pydbg
|
from pybag import pydbg
|
||||||
|
@ -182,13 +182,17 @@ def compute_ghidra_compiler(lang):
|
||||||
|
|
||||||
# Check if the selected lang has specific compiler recommendations
|
# Check if the selected lang has specific compiler recommendations
|
||||||
if not lang in compiler_map:
|
if not lang in compiler_map:
|
||||||
|
print(f"{lang} not found in compiler map")
|
||||||
return 'default'
|
return 'default'
|
||||||
comp_map = compiler_map[lang]
|
comp_map = compiler_map[lang]
|
||||||
|
if comp_map == data64_compiler_map:
|
||||||
|
print(f"Using the DATA64 compiler map")
|
||||||
osabi = get_osabi()
|
osabi = get_osabi()
|
||||||
if osabi in comp_map:
|
if osabi in comp_map:
|
||||||
return comp_map[osabi]
|
return comp_map[osabi]
|
||||||
if None in comp_map:
|
if None in comp_map:
|
||||||
return comp_map[None]
|
return comp_map[None]
|
||||||
|
print(f"{osabi} not found in compiler map")
|
||||||
return 'default'
|
return 'default'
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
## ###
|
## ###
|
||||||
# IP: GHIDRA
|
# IP: GHIDRA
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
#
|
#
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
#
|
#
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
##
|
##
|
||||||
from ghidratrace.client import Address, RegVal
|
from ghidratrace.client import Address, RegVal
|
||||||
|
|
||||||
|
@ -163,13 +163,17 @@ def compute_ghidra_compiler(lang):
|
||||||
|
|
||||||
# Check if the selected lang has specific compiler recommendations
|
# Check if the selected lang has specific compiler recommendations
|
||||||
if not lang in compiler_map:
|
if not lang in compiler_map:
|
||||||
|
print(f"{lang} not found in compiler map")
|
||||||
return 'default'
|
return 'default'
|
||||||
comp_map = compiler_map[lang]
|
comp_map = compiler_map[lang]
|
||||||
|
if comp_map == data64_compiler_map:
|
||||||
|
print(f"Using the DATA64 compiler map")
|
||||||
osabi = get_osabi()
|
osabi = get_osabi()
|
||||||
if osabi in comp_map:
|
if osabi in comp_map:
|
||||||
return comp_map[osabi]
|
return comp_map[osabi]
|
||||||
if None in comp_map:
|
if None in comp_map:
|
||||||
return comp_map[None]
|
return comp_map[None]
|
||||||
|
print(f"{osabi} not found in compiler map")
|
||||||
return 'default'
|
return 'default'
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
## ###
|
## ###
|
||||||
# IP: GHIDRA
|
# IP: GHIDRA
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
#
|
#
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
#
|
#
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
##
|
##
|
||||||
from ghidratrace.client import Address, RegVal
|
from ghidratrace.client import Address, RegVal
|
||||||
import lldb
|
import lldb
|
||||||
|
@ -225,8 +225,11 @@ def compute_ghidra_compiler(lang):
|
||||||
key=lambda l: compiler_map[l]
|
key=lambda l: compiler_map[l]
|
||||||
)
|
)
|
||||||
if len(matched_lang) == 0:
|
if len(matched_lang) == 0:
|
||||||
|
print(f"{lang} not found in compiler map")
|
||||||
return 'default'
|
return 'default'
|
||||||
comp_map = compiler_map[matched_lang[0]]
|
comp_map = compiler_map[matched_lang[0]]
|
||||||
|
if comp_map == data64_compiler_map:
|
||||||
|
print(f"Using the DATA64 compiler map")
|
||||||
osabi = get_osabi()
|
osabi = get_osabi()
|
||||||
matched_osabi = sorted(
|
matched_osabi = sorted(
|
||||||
(l for l in comp_map if l in osabi),
|
(l for l in comp_map if l in osabi),
|
||||||
|
@ -236,6 +239,7 @@ def compute_ghidra_compiler(lang):
|
||||||
return comp_map[matched_osabi[0]]
|
return comp_map[matched_osabi[0]]
|
||||||
if None in comp_map:
|
if None in comp_map:
|
||||||
return comp_map[None]
|
return comp_map[None]
|
||||||
|
print(f"{osabi} not found in compiler map")
|
||||||
return 'default'
|
return 'default'
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue