mingw64-filesystem/mingw-objdump-srcfiles

34 lines
664 B
Bash

#!/bin/sh
# SPDX-FileCopyrightText: 2022 Jan Engelhardt <jengelh@inai.de>
# SPDX-FileCopyrightText: 2022 Ralf Habacker <ralf.habacker@freenet.de>
# SPDX-License-Identifier: GPL-2.0-or-later
# get source filenames from dwarf debug sections
gawk '
BEGIN { state = 0 }
state == 1 && $2 ~ /DW_AT_name/ {
atname = $NF
}
state == 1 && $2 ~ /DW_AT_comp_dir/ {
atdir = $NF
# atname is absolute
if (atname ~ /^\//) {
print atname
state = 0
} else if (atdir != "" && atname != "") {
print atdir "/" atname
state = 0
}
}
state == 0 && $0 ~ /DW_TAG_compile_unit/ {
state = 1
atdir = ""
atname = ""
}
'