1/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify()
2 Copyright (C) 2018-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19/* This creates a .so with 8MiB PT_NOTE segment.
20 On a typical Linux system with 8MiB "ulimit -s", that was enough
21 to trigger stack overflow in open_verify. */
22
23#define NOTE_SIZE 8*1024*1024
24
25.pushsection .note.big,"a"
26 .balign 4
27 .long 5 /* n_namesz. Length of "GLIBC". */
28 .long NOTE_SIZE /* n_descsz. */
29 .long 0 /* n_type. */
30 .ascii "GLIBC\0\0\0" /* Name and alignment to four bytes. */
31 .fill NOTE_SIZE, 1, 0
32.popsection
33

source code of glibc/elf/tst-big-note-lib.S