freedreno/afuc: Disable the disassembler on 32-bit builds.

There's an mmap(2 << 32), which armhf can't handle.

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5514
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13421>
This commit is contained in:
Emma Anholt
2021-10-18 11:42:45 -07:00
committed by Marge Bot
parent 5afce85f2b
commit 80d5e40fd1
+49 -43
View File
@@ -18,6 +18,10 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
if with_tests
diff = find_program('diff')
endif
afuc_parser = custom_target(
'parser.[ch]',
input: 'parser.y',
@@ -55,50 +59,7 @@ asm = executable(
build_by_default : with_tools.contains('freedreno'),
install: install_fd_decode_tools,
)
disasm = executable(
'afuc-disasm',
[
'disasm.c',
'emu.c',
'emu.h',
'emu-ds.c',
'emu-regs.c',
'emu-ui.c',
'util.c',
'util.h',
],
include_directories: [
inc_freedreno,
inc_freedreno_rnn,
inc_include,
inc_src,
inc_util,
],
link_with: [
libfreedreno_rnn,
],
dependencies: [
],
build_by_default : with_tools.contains('freedreno'),
install: install_fd_decode_tools,
)
if with_tests
diff = find_program('diff')
disasm_fw = custom_target('afuc_test.asm',
output: 'afuc_test.asm',
command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw'), '-g', '630'],
capture: true
)
test('afuc-disasm',
diff,
args: ['-u', files('../.gitlab-ci/reference/afuc_test.asm'), disasm_fw],
suite: 'freedreno',
workdir: meson.source_root()
)
asm_fw = custom_target('afuc_test.fw',
output: 'afuc_test.fw',
command: [asm, '-g', '6', files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'],
@@ -110,3 +71,48 @@ if with_tests
workdir: meson.source_root()
)
endif
# Disasm requires mmaping >4GB
if cc.sizeof('size_t') > 4
disasm = executable(
'afuc-disasm',
[
'disasm.c',
'emu.c',
'emu.h',
'emu-ds.c',
'emu-regs.c',
'emu-ui.c',
'util.c',
'util.h',
],
include_directories: [
inc_freedreno,
inc_freedreno_rnn,
inc_include,
inc_src,
inc_util,
],
link_with: [
libfreedreno_rnn,
],
dependencies: [
],
build_by_default : with_tools.contains('freedreno'),
install: install_fd_decode_tools,
)
if with_tests
disasm_fw = custom_target('afuc_test.asm',
output: 'afuc_test.asm',
command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw'), '-g', '630'],
capture: true
)
test('afuc-disasm',
diff,
args: ['-u', files('../.gitlab-ci/reference/afuc_test.asm'), disasm_fw],
suite: 'freedreno',
workdir: meson.source_root()
)
endif
endif