mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
4a94e36819
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
# Copyright 2018-2022 Free Software Foundation, Inc.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# Test if gdb can read a core file with a program header size of 4MB, if the
|
|
# stack size is limited to 4MB.
|
|
|
|
if { [target_info gdb_protocol] != "" } {
|
|
# Even though the feature under features being tested are supported by
|
|
# gdbserver, the way this test is written doesn't make it easy with a
|
|
# remote target.
|
|
unsupported "not native"
|
|
return
|
|
}
|
|
|
|
standard_testfile
|
|
|
|
if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
|
|
return -1
|
|
}
|
|
|
|
# Generate core file.
|
|
set corefile [core_find $binfile]
|
|
if {$corefile == ""} {
|
|
return 0
|
|
}
|
|
|
|
# Limit is in kb, so this is 4MB.
|
|
set stack_limit 4096
|
|
|
|
# Verify if we can set the stack limit.
|
|
catch {
|
|
system [concat \
|
|
"(" \
|
|
"ulimit -s $stack_limit;" \
|
|
")"]
|
|
} msg
|
|
if { "$msg" != "" } {
|
|
untested "Can't set stack limit"
|
|
return -1
|
|
}
|
|
|
|
set cmd \
|
|
[concat \
|
|
"(" \
|
|
"ulimit -s $stack_limit;" \
|
|
"$GDB $INTERNAL_GDBFLAGS $GDBFLAGS -batch -core=$corefile" \
|
|
")"]
|
|
verbose -log $cmd
|
|
|
|
# Run gdb with stack limit
|
|
set output [standard_output_file OUTPUT]
|
|
catch {
|
|
system "$cmd > $output 2>&1"
|
|
} msg
|
|
verbose -log [exec cat $output]
|
|
file delete $output
|
|
|
|
set test "read core file"
|
|
if { "$msg" == "" } {
|
|
pass "$test"
|
|
} else {
|
|
verbose -log $msg
|
|
fail "$test"
|
|
}
|