]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.base/many-headers.exp
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / many-headers.exp
CommitLineData
213516ef 1# Copyright 2018-2023 Free Software Foundation, Inc.
31aceee8
TV
2
3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation; either version 3 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16# Test if gdb can read a core file with a program header size of 4MB, if the
17# stack size is limited to 4MB.
18
19if { [target_info gdb_protocol] != "" } {
20 # Even though the feature under features being tested are supported by
21 # gdbserver, the way this test is written doesn't make it easy with a
22 # remote target.
23 unsupported "not native"
24 return
25}
26
27standard_testfile
28
98bf5c02 29if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
31aceee8
TV
30 return -1
31}
32
33# Generate core file.
34set corefile [core_find $binfile]
35if {$corefile == ""} {
36 return 0
37}
38
39# Limit is in kb, so this is 4MB.
40set stack_limit 4096
41
42# Verify if we can set the stack limit.
43catch {
44 system [concat \
45 "(" \
46 "ulimit -s $stack_limit;" \
47 ")"]
48} msg
49if { "$msg" != "" } {
50 untested "Can't set stack limit"
51 return -1
52}
53
46ce2b6f
TV
54set cmd \
55 [concat \
56 "(" \
57 "ulimit -s $stack_limit;" \
58 "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS -batch -core=$corefile" \
59 ")"]
60verbose -log $cmd
61
31aceee8 62# Run gdb with stack limit
46ce2b6f 63set output [standard_output_file OUTPUT]
31aceee8 64catch {
46ce2b6f 65 system "$cmd > $output 2>&1"
31aceee8 66} msg
46ce2b6f
TV
67verbose -log [exec cat $output]
68file delete $output
69
31aceee8
TV
70set test "read core file"
71if { "$msg" == "" } {
72 pass "$test"
73} else {
46ce2b6f 74 verbose -log $msg
31aceee8
TV
75 fail "$test"
76}