tests: Check addsections test binary is 64bit for run-large-elf-file.sh
Commit Message
The test binary should be 64bit to be able to create 4GB, or larger,
ELF files.
https://sourceware.org/bugzilla/show_bug.cgi?id=28975
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
tests/ChangeLog | 4 ++++
tests/run-large-elf-file.sh | 11 +++++++++++
2 files changed, 15 insertions(+)
Comments
On Mon, Mar 21, 2022 at 12:17:14AM +0100, Mark Wielaard wrote:
> The test binary should be 64bit to be able to create 4GB, or larger,
> ELF files.
Pushed.
Mark
@@ -1,3 +1,7 @@
+2022-03-20 Mark Wielaard <mark@klomp.org>
+
+ * run-large-elf-file.sh: Check elf class of addsections binary.
+
2021-12-17 Mark Wielaard <mark@klomp.org>
* run-debuginfod-query-retry.sh: Use /bin/sh instead of /bin/ls.
@@ -1,5 +1,6 @@
#! /usr/bin/env bash
# Copyright (C) 2019 Red Hat, Inc.
+# Copyright (C) 2022 Mark J. Wielaard <mark@klomp.org>
# This file is part of elfutils.
#
# This file is free software; you can redistribute it and/or modify
@@ -26,6 +27,16 @@ if test $long_bit -ne 64; then
exit 77
fi
+# The test binary also needs to be 64bits itself
+elfclass=64
+testrun ${abs_top_builddir}/src/readelf -h ${abs_builddir}/addsections | grep ELF32 \
+ && elfclass=32
+echo elfclass: $elfclass
+if test $elfclass -ne 64; then
+ echo "Only 64bit binaries can create > 4GB ELF files"
+ exit 77
+fi
+
# These tests need lots of disk space since they test files > 4GB.
# Skip if there just isn't enough (2.5 * 4 = 10GB).
space_available=$[$(stat -f --format="%a*%S" .)/(1024 * 1024 * 1024)]