Skip to content

Instantly share code, notes, and snippets.

@RyanJeong
Last active November 14, 2019 07:35
Show Gist options
  • Save RyanJeong/3753d34bdfbd572f7c81e2f14269b6d0 to your computer and use it in GitHub Desktop.
Save RyanJeong/3753d34bdfbd572f7c81e2f14269b6d0 to your computer and use it in GitHub Desktop.
GDB Manual

코어파일 분석하기

  • 코어파일은 충돌할 당시 프로세스의 메모리 이미지를 덤프한 것이다.
    코어 파일을 gdb와 함께 사용하여 프로그램의 상태를 조사하고 실패 원인을 규명할 수 있다.
    어떤 예기치 않은 일이 발생하여 비정상적인 종료가 발생할 때 운영체제는 디스크에 코어 파일을 남긴다.
    메모리에 관한 문제는 Checker 패키지를 사용하여 예방할 수 있으나, 메모리 fault를 일으키는 경우에는 충돌하면서 파일을 덤프한다.
    코어 파일은 일반적으로 프로세스를 실행시킨 현재 작업 디렉토리에 생성되지만 프로그램 내에서 작업 디렉토리를 바꾸는 경우도 있다.

  • 보통 리눅스는 부팅 시 코어 파일을 만들지 않도록 세팅되어 있다. 코어 파일을 만들도록 설정하고자 한다면 셀의 내장 명령을 사용한다.

  1. 만약 C쉘 호환 쉘(tcsh)을 쓰고 있는 경우
$ limit core unlimited
  1. 만약 본 쉘류(sh, bash, zsh, pdksh)를 쓰고 있는 경우
$ ulimit –c unlimited

# 현재 설정값을 보고자 하는 경우
$ ulimit -a
  • 코어 파일을 함께 사용하고자 하는 경우, 아래와 같이 한다.
$ gdb PROGRAM_NAME core

실행 중인 프로그램 디버깅하기

  • gdb는 이미 실행중인 프로그램 디버깅이 가능하다.
    프로세스 실행을 가로채고 조사한 뒤 다시 원래 상태로 실행시킬 수 있다.
    attach 명령을 사용하여 실행 중인 프로세서에 gdb를 붙인다.
    attach 명령을 사용하기 위해서는 프로세스에 해당하는 실행 프로그램에 허가권을 가지고 있어야 한다.

  • 예를 들어 프로세스 ID 254번으로 실행 중인 pgmseq 프로그램이 있다면 다음과 같이 한다.

$ gdb pgmseq
$ attach 254

# 다음과 같이 해도 동일하게 동작한다.
$ gdb pgmseq 254
  • 일단 gdb가 실행 중인 프로세스에 부착되면 프로그램을 일시 중지 시키고 gdb명령을 사용할 수 있도록 제어권을 가져온다.
    break를 사용하여 중지점을 사용할 수 있고 중지점에 이를 때까지 실행하도록 continue 명령을 사용할 수 있다.
    detach 명령을 사용하면 gdb를 실행 중인 프로세스로부터 떼어낼 수 있다.
    필요에 따라 다른 프로세스에 대하여 attach 명령을 사용할 수 있다.

gdb 실행 방법

# run이라는 프로그램을 디버깅하고자 할 때,
# 1. gdb를 먼저 실행한 후에, file 명령을 사용하여 run을 부른다.
$ gdb

# 2. 가장 일반적인 방법
$ gdb run

# 3. 코어 파일을 사용할 때 동시에 인자로 준다.
$ gdb run core

# 4. 실행 중인 프로세스를 디버그하고자 한다면, 프로세스 ID를 두 번째 인자로 준다. 
# 이 명령은 1234란 이름의 파일이 없다면 gdb를 프로세스 1234에 접속시킨다. 
$ gdb run 1234
  • 실행 절차
$ gcc -o run main.c
$ gdb run

# gdb를 실행 시키면 아래와 같은 안내 메세지가 출력된다.
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from run...(no debugging symbols found)...done.

GDB 명령어

명령여 설명
list 현재 위치에서 소스 파일의 내용을 10줄 보여준다.
list 2, 15 : 소스 파일의2 ~ 15 까지를 보여준다.
run 프로그램을 시작한다.(break가 있다면 break까지 실행)
run arg : 새로운 인수를 가지고 프로그램을 시작한다.
arg는 “*”나 “[…]”를 포함할 수도 있다.
쉘의 사용까지도 확장될 수 있다.
또한 “<”, “>”, “>>” 같은 입출력 방향 재지정기호도 허용된다.
break 특정 라인이나 함수에 정지점을 설정한다.
break function : 현재 파일 안의 함수 function에 정지점을 설정한다.
break file:function : 파일 file안의 function에 정지점을 설정한다.
watch : 감시점 설정(감시점은 어떤사건이 일어날 때에만 작동한다)
until : until 명령을 쓰면, 반복문이 아닌 경우에는 next 명령과 똑같이 동작한다. 반복문일 경우, 현재 스택 프레임(즉, 현재 함수) 안에서, 현재 줄 다음 줄에 올 때까지 프로그램을 실행한다.
clear 특정 라인이나 함수에 있던 정지점을 삭제한다.
delete 몇몇 정지점이나 자동으로 출력되는 표현을 삭제한다.
next 다음 행을 수행한다. 서브루틴을 호출하면서 계속 수행한다.
호출이 발생하지 않으면 step와 같다.
next n : 이를 n번 수행하라는 의미
step 한 줄씩 실행 시킨다.
함수를 포함하고 있으면 함수 내부로 들어가서 한 줄씩 실행시킨다.
print print expr : 수식의 값을 보여준다.
display 현재 display된 명령의 목록을 보여준다.
bt 프로그램 스택을 보여준다. (backtrace)
kill 디버깅 중인 프로그램의 실행을 취소한다.
file file program : 디버깅할 프로그램으로서 파일을 사용한다.
cont continue : 현재 위치에서 프로그램을 계속 실행한다.
help 명령에 관한 정보를 보여주거나 일반적인 정보를 보여준다.
quit gdb를 종료한다.

GDB 예시

  1. 예제 1
/* test.c */

#include <stdio.h>

int main()
{
  int     i;
  double  j;
  
  /*  
   * 다음은 (i / 2) + i의 값을 출력하는 부분이다.
   * i가 1이면 j는 1.5가 되어야 하지만 실제로는 그렇지 않다.
   */
  for (i = 0; i < 5; ++i) {
    j = (i / 2) + i;
    printf("j is %lf\n", j);
  }
  
  return 0;
}
# -g 옵션을 꼭 넣어 컴파일할 것
$ gcc -g -o run test.c

$ ./run
j is 0.000000
j is 1.000000   # 이 부분이 원래 의도와 다르게 동작함, 디버깅 필요
j is 3.000000
j is 4.000000
j is 6.000000

$ gdb run

# gdb의 list 명령은 10줄씩 출력함
(gdb) list
1	#include <stdio.h>
2	
3	int main()
4	{
5	  int     i;
6	  double  j;
7	  
8	  /*  
9	   * 다음은 (i / 2) + i의 값을 출력하는 부분이다.
10	   * i가 1이면 j는 1.5가 되어야 하지만 실제로는 그렇지 않다.
(gdb) 
11	   */
12	  for (i = 0; i < 5; ++i) {
13	    j = (i / 2) + i;
14	    printf("j is %lf\n", j);
15	  }
16	  
17	  return 0;
18	}
(gdb) 
Line number 19 out of range; test.c has 18 lines.

# break 12 : for 문에 이상이 있다고 판단하여 line 12에 breakpoint를 잡는다.
(gdb) b 12  

# run : breakpoint까지 실행된다.
(gdb) r
Starting program: /root/run 

Breakpoint 1, main () at test.c:12
12	  for (i = 0; i < 5; ++i) {

# step : 한 줄 실행시킨다.
(gdb) s
13	    j = (i / 2) + i;
(gdb) s
14	    printf("j is %lf\n", j);

# print j : j의 값을 본다.
(gdb) p j
$1 = 0

# next: 한 줄 실행시킨다.
# next는 함수 호출시, 해당 함수를 한 줄로 처리하여 함수를 수행하고, 
# step은 함수 호출시, 함수 루틴 안으로 들어간다.
(gdb) n
j is 0.000000
12	  for (i = 0; i < 5; ++i) {
(gdb) display i
1: i = 0
(gdb) display j
2: j = 0

(gdb) n
13	    j = (i / 2) + i;
1: i = 1
2: j = 0
(gdb) n
14	    printf("j is %lf\n", j);
1: i = 1
2: j = 1
(gdb) n
j is 1.000000
12	  for (i = 0; i < 5; ++i) {
1: i = 1
2: j = 1

# 어느 부분에서 초기 의도와 다르게 동작하는지 확인 했다면, quit 명령을 사용해 gdb 종료
(gdb) quit
A debugging session is active.

	Inferior 1 [process 27589] will be killed.

Quit anyway? (y or n) y
  1. 예제 2
/*  sum.c */
#include <stdio.h>

int sum(int x, int y);

int main(void)
{
	int a, b, result;
	printf("정수 a, b를 차례로 입력하세요.");
	scanf("%d %d", &a, &b);
	getchar();	//	enter key
	result = sum(a, b);
	printf("\n%d + %d = %d\n", a, b, result);

	return 0;
}

int sum(int x, int y)
{

    return (x + y);
}
# 이 프로그램은 이상은 없고, 다만 스택을 보기 위한 것이다. 
# 여러 곳에서 호출되는 함수 안에서 충돌이 일어날 경우를 생각해 보자. 
# 이때는 함수가 어디로부터 호출되었는지, 그리고 어떤 상황에서 충돌이 일어났는지 파악하고자 할 것이다.
# backtrace(bt) 명령을 이용하면 충돌이 일어난 시점에서 프로그램의 현재 호출 스택(call stack) 상태를 볼 수 있다. 
# 호출 스택은 현재 함수까지 이르는 호출 목록이다. 
# 함수를 호출할 때마다 보관된 레지스터 값, 함수 전달 인수, 지역 변수 등의 자료를 스택에 push한다. 
# 이렇게 해서 각 함수들은 스택상에 일정 공간을 차지한다. 
# 특정함수에 대하여 스택에서 사용되고 있는 메모리 부분을 스택 프레임(frame)이라 부르며, 
# 호출 스택은 이러한 스택 프레임을 순서대로 정렬한 목록이다.
$ gcc -g -o run sum.c
$ gdb run
(gdb) list
1	#include <stdio.h>
2	
3	int sum(int x, int y);
4	
5	int main(void)
6	{
7		int a, b, result;
8		printf("정수 a, b를 차례로 입력하세요.");
9		scanf("%d %d", &a, &b);
10		getchar();	//	enter key
(gdb) 
11		result = sum(a, b);
12		printf("\n%d + %d = %d\n", a, b, result);
13	
14		return 0;
15	}
16	
17	int sum(int x, int y)
18	{
19	
20	    return (x + y);
(gdb) 
21	}
(gdb) 
Line number 22 out of range; sum.c has 21 lines.

# breaking point를 소스코드 11번째 줄로 지정함
(gdb) b 11
Breakpoint 1 at 0x7b3: file sum.c, line 11.

# breaking point까지 소스코드 실행
(gdb) r
Starting program: /root/run 
정수 a, b를 차례로 입력하세요.3 5

Breakpoint 1, main () at sum.c:11
11		result = sum(a, b);

# backtrace: 현재 스택에 main이 있음
(gdb) bt
#0  main () at sum.c:11

# 한 단계 실행, step이므로 함수로 분기
(gdb) s
sum (x=3, y=5) at sum.c:20
20	    return (x + y);

# backtrace: 현재 스택에 sum이 있음
(gdb) bt
#0  sum (x=3, y=5) at sum.c:20
#1  0x00005555555547c2 in main () at sum.c:11

# 스택 프레임 0번으로 이동(sum())
(gdb) frame 0
#0  sum (x=3, y=5) at sum.c:20
20	    return (x + y);

# 상위 스택 프레임(즉, 스택 프레임 0번을 호출한 곳)으로 이동 
(gdb) up
#1  0x00005555555547c2 in main () at sum.c:11
11		result = sum(a, b);

# 하위 스택 프레임으로 이동
(gdb) down
#0  sum (x=3, y=5) at sum.c:20
20	    return (x + y);

# 스택 프레임 1번으로 이동(main())
(gdb) frame 1
#1  0x00005555555547c2 in main () at sum.c:11
11		result = sum(a, b);

# 상위 스택 프레임으로 이동
# main() 함수는 초기 스택 프레임이기 때문에, 상위 스택으로 이동할 수가 없음
(gdb) up
Initial frame selected; you cannot go up.

# 현재 프레임 정보를 나타냄
(gdb) info frame
Stack level 1, frame at 0x7fffffffde90:
 rip = 0x5555555547c2 in main (sum.c:11); saved rip = 0x7ffff7a05b97
 caller of frame at 0x7fffffffde60
 source language c.
 Arglist at 0x7fffffffde80, args: 
 Locals at 0x7fffffffde80, Previous frame's sp is 0x7fffffffde90
 Saved registers:
  rbp at 0x7fffffffde80, rip at 0x7fffffffde88
  
# 하위 스택 프레임으로 이동(즉, 호출한 함수로 이동)
(gdb) down
#0  sum (x=3, y=5) at sum.c:20
20	    return (x + y);

(gdb) info frame
Stack level 0, frame at 0x7fffffffde60:
 rip = 0x555555554806 in sum (sum.c:20); saved rip = 0x5555555547c2
 called by frame at 0x7fffffffde90
 source language c.
 Arglist at 0x7fffffffde50, args: x=3, y=5
 Locals at 0x7fffffffde50, Previous frame's sp is 0x7fffffffde60
 Saved registers:
  rbp at 0x7fffffffde50, rip at 0x7fffffffde58

# finish: 해당 함수 종료
(gdb) fin
Run till exit from #0  sum (x=3, y=5) at sum.c:20
0x00005555555547c2 in main () at sum.c:11
11		result = sum(a, b);
Value returned is $1 = 8

# 현재 함수 내에서의 모든 변수의 이름과 값을 출력함
(gdb) info locals
a = 3
b = 5
result = 32767
(gdb) s
12		printf("\n%d + %d = %d\n", a, b, result);
(gdb) info locals
a = 3
b = 5
result = 8

# 해당 프로그램의 정보를 출력함
(gdb) info program
	Using the running image of child process 30598.
Program stopped at 0x5555555547c5.
It stopped after being stepped.
Type "info stack" or "info registers" for more information.

# a 변수의 저장 위치를 나타냄
# a는 스택 프레임 시작지점으로부터 36 바이트 아래에 위치함
(gdb) info address a
Symbol "a" is a complex DWARF expression:
     0: DW_OP_fbreg -36
.
# b는 스택 프레임 시작지점으로부터 32 바이트 아래에 위치함
(gdb) info address b
Symbol "b" is a complex DWARF expression:
     0: DW_OP_fbreg -32
.
# c는 스택 프레임 시작지점으로부터 28 바이트 아래에 위치함
(gdb) info address result
Symbol "result" is a complex DWARF expression:
     0: DW_OP_fbreg -28
.
(gdb) q
A debugging session is active.

	Inferior 1 [process 30994] will be killed.

Quit anyway? (y or n) y
  1. 예제 3
/*  seg.c */
#include <stdio.h>
#include <string.h>

int main()
{
	char *bug = NULL;
	
	strcpy(bug, "DEBUG");
	printf("buf is %s\n", bug);

	return 0;
}
$ gcc -g -o run seg.c
$ ./run
세그멘테이션 오류 (core dumped) # 해당 디렉토리에 core파일 생성됨
$ gdb run
(gdb) list
1	#include <stdio.h>
2	#include <string.h>
3	
4	int main()
5	{
6		char *bug = NULL;
7		
8		strcpy(bug, "DEBUG");
9		printf("buf is %s\n", bug);
10	
(gdb) b 8
Breakpoint 1 at 0x65a: file seg.c, line 8.
(gdb) r
Starting program: /root/run 

Breakpoint 1, main () at seg.c:8
8		strcpy(bug, "DEBUG");

# print bug를 해 보면 bug의 번지가 0x0으로 되어있음을 확인할 수 있음
# bug에 다른 번지수를 지정해야 함
(gdb) p bug
$1 = 0x0
(gdb) s

Program received signal SIGSEGV, Segmentation fault.
0x000055555555465e in main () at seg.c:8
8		strcpy(bug, "DEBUG");
(gdb) q
A debugging session is active.

	Inferior 1 [process 30994] will be killed.

Quit anyway? (y or n) y

# core 파일을 활용하여 디버그하고자 할 경우
$ gdb run core
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from run...done.


# gdb는 signal SIGSEGV와 함께 코어 파일이 생성되었음을 알려줌 
# 허가받지 않은 메모리 공간에 읽기, 쓰기를 시도했기 때문에 커널이 프로세스에게 signal SIGSEGV을 보냄
# 이 시그널로 인해 프로세스는 종료하면서 코어 파일을 덤프함
warning: exec file is newer than core file.
[New LWP 31112]
Core was generated by `./run'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000563895af165e in main () at seg.c:8
8		strcpy(bug, "DEBUG");
(gdb) q
A debugging session is active.

	Inferior 1 [process 30994] will be killed.

Quit anyway? (y or n) y

기타 기능

  • Breakpoint

    • 중지점을 조건적으로 설정할 수 있다. 즉 어떤 동작이 참일 때만 작동하도록 할 수 있다.
    break 184 if (stace == 0)
    • info break를 사용하면 모든 중지점과 감시점 목록을 보여 주고 그 상태도 보여 준다.
    • disable을 사용하여 작동불능으로 할 수 있고, enable을 사용하여 가능하게 할 수도 있다.
  • 인스트럭션 레벨 디버깅

    • gdb를 통해 인스트럭션 레벨의 디버깅을 할 수 있으므로 프로그램의 매우 깊은 곳까지 디버깅할 수 있다.
    # disass FUNCTION: FUNCTION 함수에 대한 디스어셈블리
    # 위에서 사용했던 sum.c 파일 내에 정의된 sum 함수를 디스어셈블 해보면,
    (gdb) disass sum
    Dump of assembler code for function sum:
     0x00000000000007fc <+0>:	push   %rbp
     0x00000000000007fd <+1>:	mov    %rsp,%rbp
     0x0000000000000800 <+4>:	mov    %edi,-0x4(%rbp)
     0x0000000000000803 <+7>:	mov    %esi,-0x8(%rbp)
     0x0000000000000806 <+10>:	mov    -0x4(%rbp),%edx
     0x0000000000000809 <+13>:	mov    -0x8(%rbp),%eax
     0x000000000000080c <+16>:	add    %edx,%eax
     0x000000000000080e <+18>:	pop    %rbp
     0x000000000000080f <+19>:	retq   
    End of assembler dump.
    
    # display/ i $pc: 현재의 인스트럭션을 보여줌
    # $pc는 gdb내부 변수로서 현재 인스트럭션의 위치를 가리키는 프로그램 카운터(PC)
    # sum.c 파일을 사용하여 예를 들면, 
    (gdb) list
    1	#include <stdio.h>
    2	
    3	int sum(int x, int y);
    4	
    5	int main(void)
    6	{
    7		int a, b, result;
    8		printf("정수 a, b를 차례로 입력하세요.");
    9		scanf("%d %d", &a, &b);
    10		getchar();	//	enter key
    (gdb) 
    11		result = sum(a, b);
    12		printf("\n%d + %d = %d\n", a, b, result);
    13	
    14		return 0;
    15	}
    16	
    17	int sum(int x, int y)
    18	{
    19	
    20	    return (x + y);
    (gdb) 
    21	}
    (gdb) b 11
    Breakpoint 1 at 0x7b3: file sum.c, line 11.
    (gdb) display/i $pc
    1: x/i $pc
    <error: No registers.>
    (gdb) r
    Starting program: /root/run 
    정수 a, b를 차례로 입력하세요.3 5
    
    Breakpoint 1, main () at sum.c:11
    11		result = sum(a, b);
    1: x/i $pc
    => 0x5555555547b3 <main+73>:	mov    -0x10(%rbp),%edx
    (gdb) record
    (gdb) n
    12		printf("\n%d + %d = %d\n", a, b, result);
    1: x/i $pc
    => 0x5555555547c5 <main+91>:	mov    -0x10(%rbp),%edx
    (gdb) rn
    
    No more reverse-execution history.
    main () at sum.c:11
    11		result = sum(a, b);
    1: x/i $pc
    => 0x5555555547b3 <main+73>:	mov    -0x10(%rbp),%edx
    (gdb) s
    sum (x=3, y=5) at sum.c:20
    20	    return (x + y);
    1: x/i $pc
    => 0x555555554806 <sum+10>:	mov    -0x4(%rbp),%edx
    (gdb) rs
    
    No more reverse-execution history.
    main () at sum.c:11
    11		result = sum(a, b);
    1: x/i $pc
    => 0x5555555547b3 <main+73>:	mov    -0x10(%rbp),%edx

appendix

  • a. 'info variables' in GDB
All defined variables:

File ../csu/init-first.c:
int __libc_argc;
char **__libc_argv;
int __libc_multiple_libcs;

File ../elf/dl-sysdep.c:
int __GI___libc_enable_secure;
void *__GI___libc_stack_end;
int __libc_multiple_libcs;
void *_dl_random;

File ../login/utmp_file.c:
const struct utfuncs __libc_utmp_file_functions;
static int file_fd;
static off64_t file_offset;
static _Bool file_writable;
static struct utmp last_entry;

File ../misc/syslog.c:
static int LogFacility;
static int LogFile;
static int LogMask;
static int LogStat;
static const char *LogTag;
static int LogType;
static struct sockaddr_un SyslogAddr;
static int connected;
static __libc_lock_t syslog_lock;

File ../nss/getXXbyYY.c:
static char *buffer;
static __libc_lock_t lock;

File ../nss/getXXent.c:
static char *buffer;
static __libc_lock_t lock;

File ../nss/getXXent_r.c:
static service_user *last_nip;
static __libc_lock_t lock;
---Type <return> to continue, or q <return> to quit---
static service_user *nip;
static service_user *startp;
static int stayopen_tmp;

File ../signal/allocrtsig.c:
static int current_rtmax;
static int current_rtmin;

File ../stdlib/strtol_l.c:
const unsigned long __strtol_ul_max_tab[];
const unsigned char __strtol_ul_rem_tab[];

File ../sysdeps/gnu/errlist.c:
const char * const_sys_errlist_internal[135];
const int _sys_nerr_internal;

File ../sysdeps/gnu/siglist.c:
const char * const__new_sys_sigabbrev[65];
const char * const__new_sys_siglist[65];

File ../sysdeps/gnu/unwind-resume.c:
void (*__libgcc_s_resume)(struct _Unwind_Exception *);
static _Unwind_Reason_Code (*libgcc_s_personality)(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *);

File ../sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c:
static const double one;

File ../sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c:
static const double huge;
static const double tiny;
static const double two54;
static const double twom54;

File ../sysdeps/ieee754/float128/../ldbl-128/s_frexpl.c:
static const _Float128 two114;

File ../sysdeps/ieee754/float128/../ldbl-128/s_modfl.c:
static const _Float128 one;

File ../sysdeps/ieee754/float128/../ldbl-128/s_scalbnl.c:
static const _Float128 huge;
static const _Float128 tiny;
---Type <return> to continue, or q <return> to quit---
static const _Float128 two114;
static const _Float128 twom114;

File ../sysdeps/ieee754/flt-32/s_frexpf.c:
static const float two25;

File ../sysdeps/ieee754/flt-32/s_modff.c:
static const float one;

File ../sysdeps/ieee754/flt-32/s_scalbnf.c:
static const float huge;
static const float tiny;
static const float two25;
static const float twom25;

File ../sysdeps/ieee754/ldbl-96/s_frexpl.c:
static const long double two65;

File ../sysdeps/ieee754/ldbl-96/s_modfl.c:
static const long double one;

File ../sysdeps/posix/gai_strerror.c:
static const struct {
    int16_t code;
    uint16_t idx;
} msgidx[17];
static const union msgstr_t msgstr;

File ../sysdeps/posix/getaddrinfo.c:
static const void *__elf_set___libc_subfreeres_element_fini__;
static const struct addrinfo default_hints;
static const struct prefixentry default_labels[8];
static const struct prefixentry default_precedence[5];
static const struct scopeentry default_scopes[3];
static struct timespec gaiconf_mtime;
static int gaiconf_reload_flag;
static int gaiconf_reload_flag_ever_set;
static const struct gaih_typeproto gaih_inet_typeproto[9];
static const struct prefixentry *labels;
static const struct gaih_servtuple nullserv;
static const struct prefixentry *precedence;
static const struct scopeentry *scopes;
---Type <return> to continue, or q <return> to quit---

File ../sysdeps/posix/profil.c:
static size_t nsamples;
static size_t pc_offset;
static u_int pc_scale;
static u_short *samples;

File ../sysdeps/posix/signal.c:
sigset_t _sigintr;

File ../sysdeps/posix/sprofil.c:
static struct region default_overflow_region;
static unsigned int overflow_counter;
static struct prof_info prof_info;

File ../sysdeps/posix/system.c:
static struct sigaction intr;
static __libc_lock_t lock;
static struct sigaction quit;
static int sa_refcntr;

File ../sysdeps/posix/tempname.c:
static const char letters[63];

File ../sysdeps/unix/bsd/getpt.c:
const char __libc_ptyname1[17];
const char __libc_ptyname2[17];

File ../sysdeps/unix/clock_gettime.c:
static hp_timing_t freq;

File ../sysdeps/unix/getlogin.c:
static char name[33];

File ../sysdeps/unix/sysv/linux/check_pf.c:
static const void *__elf_set___libc_subfreeres_element_freecache__;
static struct cached_data *cache;
static __libc_lock_t lock;
static struct cached_data noai6ai_cached;

File ../sysdeps/unix/sysv/linux/ptsname.c:
static char buffer[30];
---Type <return> to continue, or q <return> to quit---

File ../sysdeps/unix/sysv/linux/sigstack.c:
static const char __evoke_link_warning_sigstack[77];

File ../sysdeps/unix/sysv/linux/ttyname.c:
static char *getttyname_name;
static char *ttyname_buf;

File ../sysdeps/unix/sysv/linux/x86_64/brk.c:
void *__curbrk;

File ../sysdeps/unix/sysv/linux/x86_64/init-first.c:
long (*__vdso_clock_gettime)(clockid_t, struct timespec *);
long (*__vdso_getcpu)(unsigned int *, unsigned int *, void *);

File ../sysdeps/wordsize-64/../../io/ftw.c:
static const int ftw_arr[7];
static const int nftw_arr[7];

File ../sysdeps/x86/cacheinfo.c:
long __x86_data_cache_size;
long __x86_data_cache_size_half;
int __x86_prefetchw;
long __x86_raw_data_cache_size;
long __x86_raw_data_cache_size_half;
long __x86_raw_shared_cache_size;
long __x86_raw_shared_cache_size_half;
long __x86_shared_cache_size;
long __x86_shared_cache_size_half;
long __x86_shared_non_temporal_threshold;
static const struct intel_02_cache_info intel_02_known[68];

File ../sysdeps/x86_64/backtrace.c:
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static void *libgcc_handle;
static _Unwind_Reason_Code (*unwind_backtrace)(_Unwind_Trace_Fn, void *);
static _Unwind_Word (*unwind_getcfa)(struct _Unwind_Context *);
static _Unwind_Ptr (*unwind_getip)(struct _Unwind_Context *);

File ../sysdeps/x86_64/multiarch/varshift.c:
const int8_t ___m128i_shift_right[31];

---Type <return> to continue, or q <return> to quit---
File /build/glibc-OTsEL5/glibc-2.27/build-tree/amd64-libc/dl-tunable-list.h:
static tunable_t tunable_list[22];

File /build/glibc-OTsEL5/glibc-2.27/build-tree/amd64-libc/intl/plural.c:
static const yytype_int8 yycheck[55];
static const yytype_uint8 yydefact[27];
static const yytype_int8 yydefgoto[3];
static const yytype_int8 yypact[27];
static const yytype_int8 yypgoto[3];
static const yytype_uint8 yyr1[14];
static const yytype_uint8 yyr2[14];
static const yytype_uint8 yystos[27];
static const yytype_uint8 yytable[55];
static const yytype_uint8 yytranslate[263];

File /build/glibc-OTsEL5/glibc-2.27/build-tree/amd64-libc/stdio-common/errlist-compat.c:
const int __sys_nerr_GLIBC_2_1;
const int __sys_nerr_GLIBC_2_3;
const int __sys_nerr_GLIBC_2_4;
static const char __evoke_link_warning_sys_errlist[68];
static const char __evoke_link_warning_sys_nerr[65];

File C-address.c:
const struct __locale_data _nl_C_LC_ADDRESS;

File C-collate.c:
const struct __locale_data _nl_C_LC_COLLATE;
static const char collseqmb[256];
static const uint32_t collseqwc[263];

File C-ctype.c:
const struct __locale_data _nl_C_LC_CTYPE;
const char _nl_C_LC_CTYPE_class[768];
const char _nl_C_LC_CTYPE_class32[1024];
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[4];
} _nl_C_LC_CTYPE_class_alnum;
const struct {
---Type <return> to continue, or q <return> to quit---
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[2];
    uint32_t level3[2];
} _nl_C_LC_CTYPE_class_alpha;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[2];
} _nl_C_LC_CTYPE_class_blank;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[4];
} _nl_C_LC_CTYPE_class_cntrl;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[2];
} _nl_C_LC_CTYPE_class_digit;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[4];
} _nl_C_LC_CTYPE_class_graph;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[2];
    uint32_t level3[2];
} _nl_C_LC_CTYPE_class_lower;
const struct {
---Type <return> to continue, or q <return> to quit---
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[4];
} _nl_C_LC_CTYPE_class_print;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[4];
} _nl_C_LC_CTYPE_class_punct;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[2];
} _nl_C_LC_CTYPE_class_space;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[2];
    uint32_t level3[2];
} _nl_C_LC_CTYPE_class_upper;
const struct {
    uint32_t isctype_data[8];
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[1];
    uint32_t level3[4];
} _nl_C_LC_CTYPE_class_xdigit;
const struct {
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[4];
    int32_t level3[32];
} _nl_C_LC_CTYPE_map_tolower;
const struct {
    uint32_t header[5];
---Type <return> to continue, or q <return> to quit---
    uint32_t level1[1];
    uint32_t level2[4];
    int32_t level3[32];
} _nl_C_LC_CTYPE_map_toupper;
const uint32_t _nl_C_LC_CTYPE_tolower[384];
const uint32_t _nl_C_LC_CTYPE_toupper[384];
const struct {
    uint32_t header[5];
    uint32_t level1[1];
    uint32_t level2[8];
    int8_t level3[33];
} _nl_C_LC_CTYPE_width;

File C-identification.c:
const struct __locale_data _nl_C_LC_IDENTIFICATION;

File C-measurement.c:
const struct __locale_data _nl_C_LC_MEASUREMENT;

File C-messages.c:
const struct __locale_data _nl_C_LC_MESSAGES;

File C-monetary.c:
const struct __locale_data _nl_C_LC_MONETARY;
static const uint32_t conversion_rate[2];
static const char not_available[2];

File C-name.c:
const struct __locale_data _nl_C_LC_NAME;

File C-numeric.c:
const struct __locale_data _nl_C_LC_NUMERIC;

File C-paper.c:
const struct __locale_data _nl_C_LC_PAPER;

File C-telephone.c:
const struct __locale_data _nl_C_LC_TELEPHONE;

File C-time.c:
const struct __locale_data _nl_C_LC_TIME;

---Type <return> to continue, or q <return> to quit---
File C-translit.h:
static const uint32_t translit_from_idx[1353];
static const wchar_t translit_from_tbl[2706];
static const uint32_t translit_to_idx[1353];
static const wchar_t translit_to_tbl[4797];

File C_name.c:
const char _nl_C_codeset[];
const char _nl_C_name[];
const char _nl_POSIX_name[];

File SYS_libc.c:
const char __GI__libc_intl_domainname[];

File a64l.c:
static const char a64l_table[77];

File abort.c:
struct abort_msg_s *__GI___abort_msg;
static __libc_lock_recursive_t lock;
static int stage;

File arena.c:
int __libc_malloc_initialized;
static const void *__elf_set___libc_thread_subfreeres_element_arena_thread_freeres__;
static char *aligned_heap_area;
static mstate free_list;
static __libc_lock_t free_list_lock;
static __libc_lock_t list_lock;
static size_t narenas;
static mstate thread_arena;

File argp-ba.c:
const char *argp_program_bug_address;

File argp-eexst.c:
error_t argp_err_exit_status;

File argp-help.c:
static const struct uparam_name uparam_names[9];
static struct uparams uparams;

---Type <return> to continue, or q <return> to quit---
File argp-parse.c:
static volatile int _argp_hang;
static const struct argp argp_default_argp;
static const struct argp_option argp_default_options[5];
static const struct argp argp_version_argp;
static const struct argp_option argp_version_options[2];

File argp-pv.c:
const char *argp_program_version;

File argp-pvh.c:
void (*argp_program_version_hook)(FILE * restrict, struct argp_state * restrict);

File asctime.c:
static const char format[32];
static char result[114];

File auth_des.c:
static const struct auth_ops authdes_ops;

File auth_none.c:
static struct authnone_private_s authnone_private;
static pthread_once_t authnone_private_guard;
static const struct auth_ops ops;

File auth_unix.c:
static const struct auth_ops auth_unix_ops;

File bindrsvprt.c:
static int blacklist_read;
static int *list;
static int list_size;
static __libc_lock_t lock;

File c16rtomb.c:
static mbstate_t state;

File categories.def:
static const enum value_type _nl_value_type_LC_ADDRESS[13];
static const enum value_type _nl_value_type_LC_COLLATE[19];
static const enum value_type _nl_value_type_LC_CTYPE[86];
static const enum value_type _nl_value_type_LC_IDENTIFICATION[16];
---Type <return> to continue, or q <return> to quit---
static const enum value_type _nl_value_type_LC_MEASUREMENT[2];
static const enum value_type _nl_value_type_LC_MESSAGES[5];
static const enum value_type _nl_value_type_LC_MONETARY[46];
static const enum value_type _nl_value_type_LC_NAME[7];
static const enum value_type _nl_value_type_LC_NUMERIC[6];
static const enum value_type _nl_value_type_LC_PAPER[3];
static const enum value_type _nl_value_type_LC_TELEPHONE[5];
static const enum value_type _nl_value_type_LC_TIME[159];

File cfsetspeed.c:
static const struct speed_struct speeds[32];

File clnt_perr.c:
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static const struct auth_errtab auth_errlist[8];
static const char auth_errstr[198];
static const struct rpc_errtab rpc_errlist[18];
static const char rpc_errstr[451];

File clnt_raw.c:
static const struct clnt_ops client_ops;

File clnt_tcp.c:
static const struct clnt_ops tcp_ops;

File clnt_udp.c:
static const struct clnt_ops udp_ops;

File clnt_unix.c:
static const struct clnt_ops unix_ops;

File create_xid.c:
static struct drand48_data __rpc_lrand48_data;
static __libc_lock_t createxid_lock;
static pid_t is_initialized;

File ctype-info.c:
const __uint32_t *__ctype32_b;
const __uint32_t *__ctype32_tolower;
const __uint32_t *__ctype32_toupper;
const unsigned short *__ctype_b;
const __int32_t *__ctype_tolower;
---Type <return> to continue, or q <return> to quit---
const __int32_t *__ctype_toupper;
const uint16_t *__libc_tsd_CTYPE_B;
const int32_t *__libc_tsd_CTYPE_TOLOWER;
const int32_t *__libc_tsd_CTYPE_TOUPPER;

File cxa_at_quick_exit.c:
struct exit_function_list *__quick_exit_funcs;
static struct exit_function_list initial_quick;

File cxa_atexit.c:
struct exit_function_list *__exit_funcs;
__libc_lock_t __exit_funcs_lock;
uint64_t __new_exitfn_called;
static struct exit_function_list initial;

File cxa_thread_atexit_impl.c:
static void *dso_symbol_cache;
static struct link_map *lm_cache;
static struct dtor_list *tls_dtor_list;

File databases.def:
service_user *__nss_aliases_database;
service_user *__nss_ethers_database;
service_user *__nss_group_database;
service_user *__nss_gshadow_database;
service_user *__nss_hosts_database;
service_user *__nss_initgroups_database;
service_user *__nss_netgroup_database;
service_user *__nss_networks_database;
service_user *__nss_passwd_database;
service_user *__nss_protocols_database;
service_user *__nss_publickey_database;
service_user *__nss_rpc_database;
service_user *__nss_services_database;
service_user *__nss_shadow_database;

File dcigettext.c:
const char __GI__nl_default_dirname[];
const char *_nl_current_default_domain;
const char _nl_default_default_domain[];
struct binding *_nl_domain_bindings;
__libc_rwlock_t _nl_state_lock;
---Type <return> to continue, or q <return> to quit---
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static void *root;
static struct transmem_list *transmem_list;
static __libc_rwlock_t tree_lock;

File des_impl.c:
static const uint32_t des_SPtrans[8][64];
static const uint32_t des_skb[8][64];
static const char shifts2[16];

File des_soft.c:
static const char partab[128];

File dl-cache.c:
static struct cache_file *cache;
static struct cache_file_new *cache_new;
static size_t cachesize;

File dl-debug.c:
struct r_debug _r_debug;

File dl-error-skeleton.c:
static struct catch *catch_hook;
static receiver_fct receiver;

File dl-exception.c:
static const char _dl_out_of_memory[14];

File dl-libc.c:
struct dl_open_hook *__GI__dl_open_hook;
struct dl_open_hook *__GI__dl_open_hook2;
static const void *__elf_set___libc_subfreeres_element_free_mem__;

File dl-load.c:
int __stack_prot;
static const struct r_strlenpair *capstr;
static struct r_search_path_struct env_path_list;
static size_t max_capstrlen;
static size_t max_dirnamelen;
static size_t ncapstr;
static struct r_search_path_struct rtld_search_dirs;
static const char system_dirs[66];
---Type <return> to continue, or q <return> to quit---
static const size_t system_dirs_len[4];

File dl-minimal.c:
const char __GI__itoa_lower_digits[];
static void *alloc_end;
static void *alloc_last_block;
static void *alloc_ptr;

File dl-profile.c:
static struct here_cg_arc_record *data;
static volatile uint32_t fromidx;
static uint32_t fromlimit;
static struct here_fromstruct *froms;
static unsigned int log_hashfraction;
static uintptr_t lowpc;
static uint32_t narcs;
static volatile uint32_t *narcsp;
static int running;
static size_t textsize;
static volatile uint16_t *tos;

File drand48-iter.c:
struct drand48_data __libc_drand48_data;

File dso_handle.c:
const void * const __dso_handle;

File efgcvt.c:
static char ecvt_buffer[20];
static char fcvt_buffer[20];
static char *fcvt_bufptr;
static char qecvt_buffer[33];
static char qfcvt_buffer[33];
static char *qfcvt_bufptr;

File environ.c:
char **__environ;

File errno.c:
int errno;
int rtld_errno;

---Type <return> to continue, or q <return> to quit---
File error.c:
unsigned int error_message_count;
int error_one_per_line;
void (*error_print_progname)(void);

File exit.c:
_Bool __exit_funcs_done;

File fgetgrent.c:
static char *buffer;
static __libc_lock_t lock;

File fgetpwent.c:
static char *buffer;
static __libc_lock_t lock;

File fgetsgent.c:
static char *buffer;
static __libc_lock_t lock;

File fgetspent.c:
static char *buffer;
static __libc_lock_t lock;

File fileops.c:
const struct _IO_jump_t _IO_file_jumps_maybe_mmap;
const struct _IO_jump_t _IO_file_jumps_mmap;
const struct _IO_jump_t __GI__IO_file_jumps;

File finddomain.c:
static struct loaded_l10nfile *_nl_loaded_domains;

File findlocale.c:
const char _nl_default_locale_path[];
struct loaded_l10nfile *_nl_locale_file_list[];

File fmtmsg.c:
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static const struct severity_info errorsev;
static const struct severity_info haltsev;
static const struct severity_info infosev;
static const struct {
---Type <return> to continue, or q <return> to quit---
    uint32_t len;
    const char name[12];
} keywords[5];
static __libc_lock_t lock;
static const struct severity_info nosev;
static int print;
static struct severity_info *severity_list;
static const struct severity_info warningsev;

File fnmatch.c:
static int posixly_correct;

File forward.c:
struct pthread_functions __libc_pthread_functions;
int __libc_pthread_functions_init;

File fpioconst.c:
const mp_limb_t __tens[];
const struct mp_power _fpioconst_pow10[15];

File fpu_control.c:
fpu_control_t __fpu_control;

File fstab.c:
static const void *__elf_set___libc_subfreeres_element_fstab_free__;
static struct fstab_state fstab_state;

File gconv_builtin.c:
static const struct builtin_map map[12];

File gconv_cache.c:
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static int cache_malloced;
static size_t cache_size;
static void *gconv_cache;

File gconv_conf.c:
size_t __gconv_max_path_elem_len;
struct path_elem *__gconv_path_elem;
const char *__gconv_path_envvar;
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static const char builtin_aliases[999];
---Type <return> to continue, or q <return> to quit---
static struct gconv_module builtin_modules[12];
static const char default_gconv_path[32];
static const struct path_elem empty_path_elem;
static const char gconv_conf_filename[14];
static const char gconv_module_ext[4];

File gconv_db.c:
void *__gconv_alias_db;
__libc_lock_t __gconv_lock;
struct gconv_module *__gconv_modules_db;
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static void *known_derivations;
static pthread_once_t once;

File gconv_dl.c:
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static void *loaded;
static struct __gconv_loaded_object *release_handle;

File genops.c:
static const void *__elf_set___libc_atexit_element__IO_cleanup__;
static const void *__elf_set___libc_subfreeres_element_buffer_free__;
static _Bool dealloc_buffers;
static _IO_FILE *freeres_list;
static _IO_lock_t list_all_lock;
static _IO_FILE *run_fp;
static int stdio_needs_locking;

File getdate.c:
int getdate_err;

File getnameinfo.c:
static char *domain;

File getnetgrent.c:
static char *buffer;

File getnetgrent_r.c:
static struct __netgrent dataset;
static __libc_lock_t lock;

File getopt.c:
---Type <return> to continue, or q <return> to quit---
char *optarg;
int opterr;
int optind;
int optopt;
static struct _getopt_data getopt_data;

File getpw.c:
static const char __evoke_link_warning_getpw[58];

File gets_chk.c:
static const char __evoke_link_warning___gets_chk[57];

File getttyent.c:
static FILE *tf;
static char zapchar;

File getusershell.c:
static char **curshell;
static const char *okshells[3];
static char **shells;
static char *strings;

File getutent.c:
static struct utmp *buffer;

File getutent_r.c:
const struct utfuncs *__libc_utmp_jump_table;
__libc_lock_t __libc_utmp_lock;
const struct utfuncs __libc_utmp_unknown_functions;

File getutid.c:
static struct utmp *buffer;

File getutline.c:
static struct utmp *buffer;

File getwd_chk.c:
static const char __evoke_link_warning_getwd[58];

File global-locale.c:
locale_t __libc_tsd_LOCALE;
struct __locale_struct _nl_global_locale;
---Type <return> to continue, or q <return> to quit---

File gmon.c:
struct __bb *__bb_head;
struct gmonparam _gmonparam;
static int s_scale;

File herrno.c:
int __h_errno;

File herror.c:
const char * consth_errlist[5];
const int h_nerr;

File hooks.c:
static int disallow_malloc_check;
static int using_malloc_checking;

File hsearch.c:
static const void *__elf_set___libc_subfreeres_element___hdestroy__;
static struct hsearch_data htab;

File idn-stub.c:
static const void *__elf_set___libc_subfreeres_element_unload_libidn__;
static void *h;
static int (*to_ascii_lz)(const char *, char **, int);
static int (*to_unicode_lzlz)(const char *, char **, int);

File in6_addr.c:
const struct in6_addr __GI___in6addr_any;
const struct in6_addr __GI___in6addr_loopback;

File inet6_option.c:
static const char __evoke_link_warning_inet6_option_alloc[60];
static const char __evoke_link_warning_inet6_option_append[61];
static const char __evoke_link_warning_inet6_option_find[59];
static const char __evoke_link_warning_inet6_option_init[59];
static const char __evoke_link_warning_inet6_option_next[59];
static const char __evoke_link_warning_inet6_option_space[60];

File inet_ntoa.c:
static char buffer[18];

---Type <return> to continue, or q <return> to quit---
File init-misc.c:
char *__progname;
char *__progname_full;

File initgroups.c:
static _Bool use_initgroups_entry;

File interp.c:
const char __invoke_dynamic_linker__[28];

File iofopncook.c:
static const struct _IO_jump_t _IO_cookie_jumps;

File iofwide.c:
const struct _IO_codecvt __libio_codecvt;

File iogets.c:
static const char __evoke_link_warning_gets[57];

File iopadn.c:
static const char blanks[16];
static const char zeroes[16];

File iopopen.c:
static const struct _IO_jump_t _IO_proc_jumps;
static struct _IO_proc_file *proc_file_chain;
static _IO_lock_t proc_file_chain_lock;

File iowpadn.c:
static const wchar_t blanks[16];
static const wchar_t zeroes[16];

File itoa-digits.c:
const char __GI__itoa_lower_digits[];

File itoa-udigits.c:
const char __GI__itoa_upper_digits[];

File itowa-digits.c:
const wchar_t _itowa_lower_digits[36];
const wchar_t _itowa_upper_digits[36];

---Type <return> to continue, or q <return> to quit---
File key_call.c:
cryptkeyres *(*__key_decryptsession_pk_LOCAL)(uid_t, char *);
cryptkeyres *(*__key_encryptsession_pk_LOCAL)(uid_t, char *);
des_block *(*__key_gendes_LOCAL)(uid_t, char *);
static __libc_lock_t keycall_lock;
static const struct timeval tottimeout;
static const struct timeval trytimeout;

File l64a.c:
static const char conv_table[64];

File lckpwdf.c:
static __libc_lock_t lock;
static int lock_fd;

File libc_multiple_threads.c:
int __libc_multiple_threads;

File libc_pthread_init.c:
unsigned long *__fork_generation_pointer;
static const void *__elf_set___libc_subfreeres_element_freeres_libptread__;

File loadarchive.c:
static const char archfname[31];
static struct stat64 archive_stat;
static struct locale_in_archive *archloaded;
static struct archmapped *archmapped;
static struct archmapped headmap;

File loadlocale.c:
static const size_t _nl_category_num_items[13];
static const enum value_type * const_nl_value_types[13];

File loadmsgcat.c:
int _nl_msg_cat_cntr;

File localealias.c:
static __libc_lock_t lock;
static struct alias_map *map;
static size_t maxmap;
static size_t nmap;
static char *string_space;
---Type <return> to continue, or q <return> to quit---
static size_t string_space_act;
static size_t string_space_max;

File localtime.c:
struct tm _tmbuf;

File malloc.c:
void (*__after_morecore_hook)(void);
void (*__free_hook)(void *, const void *);
void *(*__malloc_hook)(size_t, const void *);
void (*__malloc_initialize_hook)(void);
void *(*__memalign_hook)(size_t, size_t, const void *);
void *(*__morecore)(ptrdiff_t);
void *(*__realloc_hook)(void *, size_t, const void *);
static mchunkptr dumped_main_arena_end;
static mchunkptr dumped_main_arena_start;
static size_t global_max_fast;
static struct malloc_state main_arena;
static struct malloc_par mp_;
static int perturb_byte;
static tcache_perthread_struct *tcache;
static _Bool tcache_shutting_down;

File mblen.c:
static mbstate_t state;

File mbrlen.c:
static mbstate_t internal;

File mbrtoc16.c:
static mbstate_t state;

File mbrtowc.c:
static mbstate_t state;

File mbsnrtowcs.c:
static mbstate_t state;

File mbsrtowcs.c:
static mbstate_t state;

File mcheck.c:
---Type <return> to continue, or q <return> to quit---
static void (*abortfunc)(enum mcheck_status);
static int mcheck_used;
static void (*old_free_hook)(void *, const void *);
static void *(*old_malloc_hook)(size_t, const void *);
static void *(*old_memalign_hook)(size_t, size_t, const void *);
static void *(*old_realloc_hook)(void *, size_t, const void *);
static int pedantic;
static struct hdr *root;

File memstream.c:
static const struct _IO_jump_t _IO_mem_jumps;

File mktemp.c:
static const char __evoke_link_warning_mktemp[68];

File mktime.c:
const unsigned short __mon_yday[2][13];
static time_t localtime_offset;

File mntent.c:
static char *getmntent_buffer;

File mtrace.c:
void *mallwatch;
static __libc_lock_t lock;
static const char mallenv[13];
static char *malloc_trace_buffer;
static FILE *mallstream;
static void (*tr_old_free_hook)(void *, const void *);
static void *(*tr_old_malloc_hook)(size_t, const void *);
static void *(*tr_old_memalign_hook)(size_t, size_t, const void *);
static void *(*tr_old_realloc_hook)(void *, size_t, const void *);

File netname.c:
static const char OPSYS[5];

File nscd_getgr_r.c:
struct locked_map_ptr __gr_map_handle;
int __nss_not_use_nscd_group;
static const void *__elf_set___libc_subfreeres_element_gr_map_free__;

File nscd_gethst_r.c:
---Type <return> to continue, or q <return> to quit---
struct locked_map_ptr __hst_map_handle;
int __nss_have_localdomain;
int __nss_not_use_nscd_hosts;
static const void *__elf_set___libc_subfreeres_element_hst_map_free__;

File nscd_getpw_r.c:
int __nss_not_use_nscd_passwd;
static const void *__elf_set___libc_subfreeres_element_pw_map_free__;
static struct locked_map_ptr map_handle;

File nscd_getserv_r.c:
int __nss_not_use_nscd_services;
struct locked_map_ptr __serv_map_handle;
static const void *__elf_set___libc_subfreeres_element_serv_map_free__;

File nscd_netgroup.c:
int __nss_not_use_nscd_netgroup;
static const void *__elf_set___libc_subfreeres_element_pw_map_free__;
static struct locked_map_ptr map_handle;

File nsswitch.c:
_Bool __nss_database_custom[14];
static const void *__elf_set___libc_subfreeres_element_free_defconfig__;
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static const char * const __nss_shlib_revision;
static const struct {
    const char name[10];
    service_user **dbp;
} databases[14];
static name_database_entry *defconfig_entries;
static _Bool is_nscd;
static __libc_lock_t lock;
static void (*nscd_init_cb)(size_t, struct traced_file *);
static name_database *service_table;

File obprintf.c:
const struct _IO_jump_t _IO_obstack_jumps;

File obstack.c:
struct obstack *_obstack_compat;
void (*obstack_alloc_failed_handler)(void);
int obstack_exit_failure;
---Type <return> to continue, or q <return> to quit---

File plural-exp.c:
const struct expression __gettext_germanic_plural;
static const struct expression plone;
static const struct expression plvar;

File pmap_clnt.c:
static const struct timeval timeout;
static const struct timeval tottimeout;

File pmap_rmt.c:
static const struct timeval timeout;

File psiginfo-define.h:
static const uint8_t codes_11[2];
static const uint8_t codes_17[6];
static const uint8_t codes_29[6];
static const uint8_t codes_4[8];
static const uint8_t codes_5[2];
static const uint8_t codes_7[3];
static const uint8_t codes_8[8];
static const union codestrs_t_11 codestrs_11;
static const union codestrs_t_17 codestrs_17;
static const union codestrs_t_29 codestrs_29;
static const union codestrs_t_4 codestrs_4;
static const union codestrs_t_5 codestrs_5;
static const union codestrs_t_7 codestrs_7;
static const union codestrs_t_8 codestrs_8;

File random.c:
static __libc_lock_t lock;
static int32_t randtbl[32];
static struct random_data unsafe_state;

File random_r.c:
static const struct random_poly_info random_poly_info;

File rcmd.c:
int __check_rhosts_file;
char *__rcmd_errstr;
static char *ahostbuf;

---Type <return> to continue, or q <return> to quit---
File reg-modifier.c:
struct printf_modifier_record **__printf_modifier_table;
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static __libc_lock_t lock;
static int next_bit;

File reg-printf.c:
printf_arginfo_size_function **__printf_arginfo_table;
printf_function **__printf_function_table;
static __libc_lock_t lock;

File reg-type.c:
printf_va_arg_function **__printf_va_arg_table;
static __libc_lock_t lock;
static int pa_next_type;

File regcomp.c:
const char __re_error_msgid[];
const size_t __re_error_msgid_idx[];
reg_syntax_t re_syntax_options;
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static struct re_pattern_buffer re_comp_buf;
static const bitset_word_t utf8_sb_map[4];

File regex.c:
int re_max_failures;
static const char __evoke_link_warning_re_max_failures[61];

File regexp.c:
char *loc1;
char *loc2;
char *locs;

File register-atfork.c:
struct fork_handler *__fork_handlers;
int __fork_lock;
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static struct fork_handler_pool fork_handler_pool;

File res-close.c:
static const void *__elf_set___libc_subfreeres_element_res_thread_freeres__;
static const void *__elf_set___libc_thread_subfreeres_element_res_thread_freeres__;
---Type <return> to continue, or q <return> to quit---

File res_hconf.c:
struct hconf _res_hconf;
static const struct cmd cmd[4];
static struct netaddr *ifaddrs;

File res_libc.c:
struct __res_state *__resp;
struct __res_state _res;

File resolv_conf.c:
static const void *__elf_set___libc_subfreeres_element_freeres__;
static struct resolv_conf_global *global;
static __libc_lock_t lock;

File resolv_context.c:
static struct resolv_context *current;

File rexec.c:
int rexecoptions;
static char *ahostbuf;

File rpc_common.c:
struct opaque_auth __GI__null_auth;
struct rpc_createerr rpc_createerr;
fd_set svc_fdset;
int svc_max_pollfd;
struct pollfd *svc_pollfd;

File rpc_prot.c:
static const struct xdr_discrim reply_dscrm[3];

File rpc_thread.c:
static const void *__elf_set___libc_subfreeres_element___rpc_thread_destroy__;
static const void *__elf_set___libc_thread_subfreeres_element___rpc_thread_destroy__;
static struct rpc_thread_variables __libc_tsd_RPC_VARS_mem;
static struct rpc_thread_variables *thread_rpc_vars;

File rtld.c:
char **__GI__dl_argv;
uintptr_t __pointer_chk_guard_local;
int _dl_argc;
---Type <return> to continue, or q <return> to quit---
unsigned int _dl_skip_args;
struct rtld_global _rtld_global;
struct rtld_global_ro _rtld_global_ro;
const char *audit_list_string;
static struct libname_list _dl_rtld_libname;
static struct libname_list _dl_rtld_libname2;
static int any_debug;
static struct audit_list *audit_list;
static const char *library_path;
static hp_timing_t load_time;
static const char *preloadlist;
static hp_timing_t relocate_time;
static hp_timing_t start_time;
static _Bool tls_init_tp_called;
static int version_info;

File ruserpass.c:
static FILE *cfile;
static const char tokstr[53];
static const struct toktab toktab[7];
static char tokval[100];

File setenv.c:
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static __libc_lock_t envlock;
static void *known_values;
static char **last_environ;

File setlocale.c:
__libc_rwlock_t __libc_setlocale_lock;
const uint8_t _nl_category_name_idxs[13];
const uint8_t _nl_category_name_sizes[13];
const union catnamestr_t _nl_category_names;
static void (* const_nl_category_postload[13])(void);

File sgetsgent.c:
static __libc_lock_t lock;

File sgetspent.c:
static __libc_lock_t lock;

File sofini.c:
---Type <return> to continue, or q <return> to quit---
static const ui32 __FRAME_END__[1];

File stdfiles.c:
struct _IO_FILE_plus _IO_2_1_stderr_;
struct _IO_FILE_plus _IO_2_1_stdin_;
struct _IO_FILE_plus _IO_2_1_stdout_;
struct _IO_FILE_plus *__GI__IO_list_all;
static _IO_lock_t _IO_stdfile_0_lock;
static _IO_lock_t _IO_stdfile_1_lock;
static _IO_lock_t _IO_stdfile_2_lock;
static struct _IO_wide_data _IO_wide_data_0;
static struct _IO_wide_data _IO_wide_data_1;
static struct _IO_wide_data _IO_wide_data_2;

File stdio.c:
struct _IO_FILE *stderr;
struct _IO_FILE *stdin;
struct _IO_FILE *stdout;

File strerror.c:
static char *buf;

File strerror_l.c:
static const void *__elf_set___libc_subfreeres_element_strerror_thread_freeres__;
static const void *__elf_set___libc_thread_subfreeres_element_strerror_thread_freeres__;
static char *last_value;

File strops.c:
const struct _IO_jump_t _IO_str_jumps;

File strsignal.c:
static __libc_key_t key;
static char local_buf[100];
static char *static_buf;

File svc_auth.c:
static const struct {
    enum auth_stat (*authenticator)(struct svc_req *, struct rpc_msg *);
} svcauthsw[4];

File svc_raw.c:
static const struct xp_ops server_ops;
---Type <return> to continue, or q <return> to quit---

File svc_tcp.c:
static const struct xp_ops svctcp_op;
static const struct xp_ops svctcp_rendezvous_op;

File svc_udp.c:
static const struct xp_ops svcudp_op;

File svc_unix.c:
static struct cmessage cm;
static const struct xp_ops svcunix_op;
static const struct xp_ops svcunix_rendezvous_op;

File svcauth_des.c:
struct {
    u_long ncachehits;
    u_long ncachereplays;
    u_long ncachemisses;
} svcauthdes_stats;

File tempnam.c:
static const char __evoke_link_warning_tempnam[56];

File tens_in_limb.c:
const mp_limb_t _tens_in_limb[20];

File tmpnam.c:
static const char __evoke_link_warning_tmpnam[55];
static char tmpnam_buffer[20];

File tmpnam_r.c:
static const char __evoke_link_warning_tmpnam_r[57];

File tzfile.c:
int __use_tzfile;
static struct leap *leaps;
static size_t num_leaps;
static size_t num_transitions;
static size_t num_types;
static long rule_dstoff;
static long rule_stdoff;
static time_t *transitions;
---Type <return> to continue, or q <return> to quit---
static unsigned char *type_idxs;
static struct ttinfo *types;
static dev_t tzfile_dev;
static ino64_t tzfile_ino;
static time_t tzfile_mtime;
static char *tzspec;
static char *zone_names;

File tzset.c:
int __daylight;
long __timezone;
char *__tzname[2];
static const void *__elf_set___libc_subfreeres_element_free_mem__;
static char *old_tz;
static tz_rule tz_rules[2];
static __libc_lock_t tzset_lock;
static struct tzstring_l *tzstring_list;

File utmpname.c:
const char *__libc_utmp_file_name;
static const char default_file_name[14];

File valid_field.c:
const char __nss_invalid_field_characters[];

File valid_list_field.c:
static const char invalid_characters[4];

File version.c:
static const char __libc_release[7];
static const char __libc_version[5];
static const char banner[432];

File vfprintf.c:
static const struct _IO_jump_t _IO_helper_jumps;
static const uint8_t jump_table[91];
static const wchar_t null[7];

File vsnprintf.c:
const struct _IO_jump_t _IO_strn_jumps;

File vsprintf_chk.c:
---Type <return> to continue, or q <return> to quit---
static const struct _IO_jump_t _IO_str_chk_jumps;

File vswprintf.c:
const struct _IO_jump_t _IO_wstrn_jumps;

File vtables.c:
void (*IO_accept_foreign_vtables)(void);

File wcrtomb.c:
static mbstate_t state;

File wcsmbsload.c:
const struct gconv_fcts __wcsmbs_gconv_fcts_c;
static const struct __gconv_step to_mb;
static const struct __gconv_step to_wc;

File wcsnrtombs.c:
static mbstate_t state;

File wcsrtombs.c:
static mbstate_t state;

File wctomb.c:
mbstate_t __wctomb_state;

File wfileops.c:
const struct _IO_jump_t _IO_wfile_jumps_maybe_mmap;
const struct _IO_jump_t _IO_wfile_jumps_mmap;
const struct _IO_jump_t __GI__IO_wfile_jumps;

File wmemstream.c:
static const struct _IO_jump_t _IO_wmem_jumps;

File wstrops.c:
const struct _IO_jump_t _IO_wstr_jumps;

File xcrypt.c:
static const char hex[16];

File xdr.c:
static const char xdr_zero[4];

---Type <return> to continue, or q <return> to quit---
File xdr_mem.c:
static const struct xdr_ops xdrmem_ops;

File xdr_rec.c:
static const struct xdr_ops xdrrec_ops;

File xdr_stdio.c:
static const struct xdr_ops xdrstdio_ops;

File xlocale.c:
const struct __locale_struct _nl_C_locobj;

Non-debugging symbols:
0x0000555555554890  _IO_stdin_used
0x00005555555548d8  __GNU_EH_FRAME_HDR
0x0000555555554a44  __FRAME_END__
0x0000555555754da0  __frame_dummy_init_array_entry
0x0000555555754da0  __init_array_start
0x0000555555754da8  __do_global_dtors_aux_fini_array_entry
0x0000555555754da8  __init_array_end
0x0000555555754db0  _DYNAMIC
0x0000555555754fa0  _GLOBAL_OFFSET_TABLE_
0x0000555555755000  __data_start
0x0000555555755000  data_start
0x0000555555755008  __dso_handle
0x0000555555755010  __TMC_END__
0x0000555555755010  __bss_start
0x0000555555755010  _edata
0x0000555555755010  completed
0x0000555555755018  _end
0x00007ffff7dd5000  __ehdr_start
0x00007ffff7df4c00  debopts
0x00007ffff7df4e60  unsecure_envvars
0x00007ffff7df4fa0  audit_iface_names
0x00007ffff7df5020  expected2
0x00007ffff7df5200  msg
0x00007ffff7df5260  primes
0x00007ffff7df5530  expected_note
0x00007ffff7df5560  auxvars
0x00007ffff7df68f1  __PRETTY_FUNCTION__.10426
0x00007ffff7df7718  __PRETTY_FUNCTION__.10120
0x00007ffff7df7728  __PRETTY_FUNCTION__.10175
---Type <return> to continue, or q <return> to quit---
0x00007ffff7df7738  __PRETTY_FUNCTION__.10243
0x00007ffff7df7c80  __PRETTY_FUNCTION__.10270
0x00007ffff7df7c90  __PRETTY_FUNCTION__.10062
0x00007ffff7df7eb0  __PRETTY_FUNCTION__.10349
0x00007ffff7df7ec0  __PRETTY_FUNCTION__.10105
0x00007ffff7df8268  __PRETTY_FUNCTION__.10843
0x00007ffff7df8350  __PRETTY_FUNCTION__.8302
0x00007ffff7df84d8  __PRETTY_FUNCTION__.8447
0x00007ffff7df8770  __PRETTY_FUNCTION__.9256
0x00007ffff7df8780  expected2
0x00007ffff7df8790  expected1
0x00007ffff7df8900  __PRETTY_FUNCTION__.10733
0x00007ffff7df8910  __PRETTY_FUNCTION__.10798
0x00007ffff7df8cc8  __PRETTY_FUNCTION__.10437
0x00007ffff7df8cd8  __PRETTY_FUNCTION__.10369
0x00007ffff7df8d60  __PRETTY_FUNCTION__.7813
0x00007ffff7df8da0  __PRETTY_FUNCTION__.7010
0x00007ffff7df8db0  __PRETTY_FUNCTION__.10012
0x00007ffff7df8db0  __PRETTY_FUNCTION__.9699
0x00007ffff7df8db0  __PRETTY_FUNCTION__.9819
0x00007ffff7df8dd0  preload_file
0x00007ffff7df8df0  __PRETTY_FUNCTION__.9773
0x00007ffff7df8df0  __PRETTY_FUNCTION__.9970
0x00007ffff7df8e10  __PRETTY_FUNCTION__.10029
0x00007ffff7df8e30  __PRETTY_FUNCTION__.10123
0x00007ffff7df8e50  __PRETTY_FUNCTION__.9983
0x00007ffff7df8e70  __PRETTY_FUNCTION__.9970
0x00007ffff7df8e90  __PRETTY_FUNCTION__.10146
0x00007ffff7df8eb0  __PRETTY_FUNCTION__.10321
0x00007ffff7df8ed0  __PRETTY_FUNCTION__.9442
0x00007ffff7df8ef0  __PRETTY_FUNCTION__.9684
0x00007ffff7df8f10  __PRETTY_FUNCTION__.10922
0x00007ffff7df8f30  __PRETTY_FUNCTION__.9505
0x00007ffff7df8f50  __PRETTY_FUNCTION__.8469
0x00007ffff7df8f70  __PRETTY_FUNCTION__.9587
0x00007ffff7df8f90  __PRETTY_FUNCTION__.9545
0x00007ffff7df8fb0  __PRETTY_FUNCTION__.9524
0x00007ffff7df8fd0  __PRETTY_FUNCTION__.9464
0x00007ffff7df8ff0  __PRETTY_FUNCTION__.9414
0x00007ffff7df9010  __PRETTY_FUNCTION__.9390
0x00007ffff7df9030  expected4
0x00007ffff7df9050  expected3
---Type <return> to continue, or q <return> to quit---
0x00007ffff7df9060  __PRETTY_FUNCTION__.10713
0x00007ffff7df9080  __PRETTY_FUNCTION__.10663
0x00007ffff7df9090  __PRETTY_FUNCTION__.10690
0x00007ffff7df90b0  __PRETTY_FUNCTION__.9671
0x00007ffff7df90d0  expected_note
0x00007ffff7df90e0  expected
0x00007ffff7df90f0  dummy_bucket
0x00007ffff7df9100  errstring
0x00007ffff7df9140  _.stapsdt.base
0x00007ffff7df9144  __GNU_EH_FRAME_HDR
0x00007ffff7ffc6a0  dyn_temp
0x00007ffff7ffd000  _GLOBAL_OFFSET_TABLE_
0x00007ffff7ffdfd8  __bss_start
0x00007ffff7ffdfd8  _edata
0x00007ffff7ffdfe0  newname
0x00007ffff7ffe0a0  dl_close_state
0x00007ffff7b80cc7  inmask
0x00007ffff7b80da0  slashdot
0x00007ffff7b80dc0  codeset_idx
0x00007ffff7b8d9a0  mask
0x00007ffff7b8db60  nbits
0x00007ffff7b8dba0  nbits
0x00007ffff7b8dbe0  nbits.12176
0x00007ffff7b8dd40  nbits
0x00007ffff7b91760  step4_jumps
0x00007ffff7b917e0  step3b_jumps
0x00007ffff7b91860  step4_jumps
0x00007ffff7b918e0  step3a_jumps
0x00007ffff7b91960  step2_jumps
0x00007ffff7b919e0  step1_jumps
0x00007ffff7b91a60  step0_jumps
0x00007ffff7b91b40  units
0x00007ffff7b91b60  step4_jumps
0x00007ffff7b91be0  step3b_jumps
0x00007ffff7b91c60  step4_jumps
0x00007ffff7b91ce0  step3a_jumps
0x00007ffff7b91d60  step2_jumps
0x00007ffff7b91de0  step1_jumps
0x00007ffff7b91e60  step0_jumps
0x00007ffff7b93120  result_type
0x00007ffff7b93148  next_state
0x00007ffff7b93c00  nbits
---Type <return> to continue, or q <return> to quit---
0x00007ffff7b93c40  nbits.12304
0x00007ffff7b93c80  nbits
0x00007ffff7b93cc0  nbits
0x00007ffff7b93d38  __PRETTY_FUNCTION__.8518
0x00007ffff7b93d50  __PRETTY_FUNCTION__.8523
0x00007ffff7b95e40  afs
0x00007ffff7b95f20  CSWTCH.1
0x00007ffff7b960a0  options
0x00007ffff7b97820  __PRETTY_FUNCTION__.8460
0x00007ffff7b98fd8  __PRETTY_FUNCTION__.12480
0x00007ffff7b994a9  __PRETTY_FUNCTION__.9012
0x00007ffff7b997d8  dot
0x00007ffff7b9a93d  longjmp_msg
0x00007ffff7b9b5a0  __PRETTY_FUNCTION__.8896
0x00007ffff7b9b8c0  __PRETTY_FUNCTION__.7444
0x00007ffff7b9bc10  __PRETTY_FUNCTION__.12038
0x00007ffff7b9bc10  __PRETTY_FUNCTION__.12043
0x00007ffff7b9bc10  __PRETTY_FUNCTION__.12149
0x00007ffff7b9bc10  __PRETTY_FUNCTION__.12214
0x00007ffff7b9bc10  __PRETTY_FUNCTION__.12219
0x00007ffff7b9bc10  __PRETTY_FUNCTION__.12325
0x00007ffff7b9bc48  __PRETTY_FUNCTION__.8056
0x00007ffff7b9bd70  __PRETTY_FUNCTION__.13997
0x00007ffff7b9bd80  __PRETTY_FUNCTION__.12383
0x00007ffff7b9bd90  __PRETTY_FUNCTION__.12447
0x00007ffff7b9bdc8  __PRETTY_FUNCTION__.9464
0x00007ffff7b9c2e0  __PRETTY_FUNCTION__.12639
0x00007ffff7b9cfe8  __PRETTY_FUNCTION__.12275
0x00007ffff7b9cff8  __PRETTY_FUNCTION__.12230
0x00007ffff7b9d008  __PRETTY_FUNCTION__.12200
0x00007ffff7b9d018  __PRETTY_FUNCTION__.11751
0x00007ffff7b9d028  __PRETTY_FUNCTION__.11783
0x00007ffff7b9d038  __PRETTY_FUNCTION__.12163
0x00007ffff7b9d048  __PRETTY_FUNCTION__.12449
0x00007ffff7b9d058  __PRETTY_FUNCTION__.12101
0x00007ffff7b9d068  __PRETTY_FUNCTION__.12090
0x00007ffff7b9d078  __PRETTY_FUNCTION__.11744
0x00007ffff7b9d088  __PRETTY_FUNCTION__.12406
0x00007ffff7b9d098  __PRETTY_FUNCTION__.12046
0x00007ffff7b9d0a8  __PRETTY_FUNCTION__.12127
0x00007ffff7b9d0b8  __PRETTY_FUNCTION__.12122
0x00007ffff7b9d0c8  __PRETTY_FUNCTION__.12343
---Type <return> to continue, or q <return> to quit---
0x00007ffff7b9d0d8  __PRETTY_FUNCTION__.12466
0x00007ffff7b9d2a0  __PRETTY_FUNCTION__.7764
0x00007ffff7b9d338  __PRETTY_FUNCTION__.7912
0x00007ffff7b9d3f8  __PRETTY_FUNCTION__.9603
0x00007ffff7b9d4a8  __PRETTY_FUNCTION__.9630
0x00007ffff7b9d4b8  __PRETTY_FUNCTION__.9626
0x00007ffff7b9d4f0  __PRETTY_FUNCTION__.9632
0x00007ffff7b9d500  __PRETTY_FUNCTION__.9633
0x00007ffff7b9d510  __PRETTY_FUNCTION__.9634
0x00007ffff7b9d590  __PRETTY_FUNCTION__.8466
0x00007ffff7b9d628  __PRETTY_FUNCTION__.8581
0x00007ffff7b9d668  __PRETTY_FUNCTION__.9632
0x00007ffff7b9d678  __PRETTY_FUNCTION__.9650
0x00007ffff7b9d720  __PRETTY_FUNCTION__.6261
0x00007ffff7b9d7b0  __PRETTY_FUNCTION__.9209
0x00007ffff7b9d7b0  __PRETTY_FUNCTION__.9214
0x00007ffff7b9d7e8  __PRETTY_FUNCTION__.8970
0x00007ffff7b9d7f8  __PRETTY_FUNCTION__.9248
0x00007ffff7b9d808  __PRETTY_FUNCTION__.9296
0x00007ffff7b9d880  __PRETTY_FUNCTION__.12405
0x00007ffff7b9d890  __PRETTY_FUNCTION__.12392
0x00007ffff7b9d8a0  __PRETTY_FUNCTION__.12590
0x00007ffff7b9d8b0  __PRETTY_FUNCTION__.12522
0x00007ffff7b9d8c0  __PRETTY_FUNCTION__.11459
0x00007ffff7b9d900  cs_path
0x00007ffff7b9db90  __PRETTY_FUNCTION__.14792
0x00007ffff7b9dba0  __PRETTY_FUNCTION__.15017
0x00007ffff7b9dbd0  __PRETTY_FUNCTION__.11371
0x00007ffff7b9dbe0  __PRETTY_FUNCTION__.11476
0x00007ffff7b9dbf0  __PRETTY_FUNCTION__.11771
0x00007ffff7b9dc00  __PRETTY_FUNCTION__.11388
0x00007ffff7b9dc10  __PRETTY_FUNCTION__.11380
0x00007ffff7b9dd60  __PRETTY_FUNCTION__.8035
0x00007ffff7b9dd98  __PRETTY_FUNCTION__.9028
0x00007ffff7b9ddd0  __PRETTY_FUNCTION__.9472
0x00007ffff7b9de58  __PRETTY_FUNCTION__.10629
0x00007ffff7b9e258  __PRETTY_FUNCTION__.8948
0x00007ffff7b9e2d0  __PRETTY_FUNCTION__.5596
0x00007ffff7b9e410  __PRETTY_FUNCTION__.12483
0x00007ffff7b9e420  __PRETTY_FUNCTION__.12305
0x00007ffff7b9e5f8  __PRETTY_FUNCTION__.11796
0x00007ffff7b9e6a0  __PRETTY_FUNCTION__.3795
---Type <return> to continue, or q <return> to quit---
0x00007ffff7b9e828  fmt
0x00007ffff7b9e930  __PRETTY_FUNCTION__.8686
0x00007ffff7b9e940  __PRETTY_FUNCTION__.8698
0x00007ffff7b9ea48  __PRETTY_FUNCTION__.9272
0x00007ffff7b9eb70  __func__.11060
0x00007ffff7b9ebe0  __func__.11003
0x00007ffff7b9ec80  __func__.13987
0x00007ffff7b9ece8  __func__.11069
0x00007ffff7b9ee48  __func__.7146
0x00007ffff7b9ee58  __func__.7324
0x00007ffff7b9ee68  __func__.7287
0x00007ffff7b9ee78  __func__.7290
0x00007ffff7b9eec0  __PRETTY_FUNCTION__.13392
0x00007ffff7b9eed0  __PRETTY_FUNCTION__.13267
0x00007ffff7b9eee0  __PRETTY_FUNCTION__.8849
0x00007ffff7b9eef0  __PRETTY_FUNCTION__.9707
0x00007ffff7b9ef00  __PRETTY_FUNCTION__.9735
0x00007ffff7b9ef10  __PRETTY_FUNCTION__.9754
0x00007ffff7b9ef90  __PRETTY_FUNCTION__.8516
0x00007ffff7b9efb0  __PRETTY_FUNCTION__.9065
0x00007ffff7b9efd0  __PRETTY_FUNCTION__.11705
0x00007ffff7b9eff0  __PRETTY_FUNCTION__.8436
0x00007ffff7b9f010  __PRETTY_FUNCTION__.10719
0x00007ffff7b9f030  __PRETTY_FUNCTION__.10597
0x00007ffff7b9f050  __PRETTY_FUNCTION__.10459
0x00007ffff7b9f070  __PRETTY_FUNCTION__.10306
0x00007ffff7b9f090  __PRETTY_FUNCTION__.10178
0x00007ffff7b9f0b0  __PRETTY_FUNCTION__.9966
0x00007ffff7b9f0d0  __PRETTY_FUNCTION__.9086
0x00007ffff7b9f0f0  __PRETTY_FUNCTION__.9078
0x00007ffff7b9f110  __PRETTY_FUNCTION__.9598
0x00007ffff7b9f130  __PRETTY_FUNCTION__.9054
0x00007ffff7b9f150  __PRETTY_FUNCTION__.9170
0x00007ffff7b9f170  __PRETTY_FUNCTION__.9130
0x00007ffff7b9f1b0  errstr
0x00007ffff7b9f1f0  __PRETTY_FUNCTION__.12093
0x00007ffff7b9f210  __PRETTY_FUNCTION__.12088
0x00007ffff7b9f230  __PRETTY_FUNCTION__.12088
0x00007ffff7b9f250  __PRETTY_FUNCTION__.12199
0x00007ffff7b9f270  __PRETTY_FUNCTION__.12590
0x00007ffff7b9f270  __PRETTY_FUNCTION__.12614
0x00007ffff7b9f290  __PRETTY_FUNCTION__.12357
---Type <return> to continue, or q <return> to quit---
0x00007ffff7b9f2b0  __PRETTY_FUNCTION__.12798
0x00007ffff7b9f2d0  __PRETTY_FUNCTION__.10524
0x00007ffff7b9f2d0  __PRETTY_FUNCTION__.11201
0x00007ffff7b9f2e0  __PRETTY_FUNCTION__.11151
0x00007ffff7b9f300  __PRETTY_FUNCTION__.10576
0x00007ffff7b9f320  __PRETTY_FUNCTION__.10541
0x00007ffff7b9f340  __PRETTY_FUNCTION__.12302
0x00007ffff7b9f360  __PRETTY_FUNCTION__.11794
0x00007ffff7b9f380  __PRETTY_FUNCTION__.11857
0x00007ffff7b9f3a0  __PRETTY_FUNCTION__.7957
0x00007ffff7b9f3c0  __PRETTY_FUNCTION__.9533
0x00007ffff7b9f3e0  __PRETTY_FUNCTION__.12258
0x00007ffff7b9f400  __PRETTY_FUNCTION__.12258
0x00007ffff7b9f420  __PRETTY_FUNCTION__.12263
0x00007ffff7b9f440  __PRETTY_FUNCTION__.12369
0x00007ffff7b9f460  __PRETTY_FUNCTION__.6298
0x00007ffff7b9f480  default_tzdir
0x00007ffff7b9f4a0  __PRETTY_FUNCTION__.8087
0x00007ffff7b9f4c0  __PRETTY_FUNCTION__.13034
0x00007ffff7b9f4e0  __PRETTY_FUNCTION__.11822
0x00007ffff7b9f500  __PRETTY_FUNCTION__.10573
0x00007ffff7b9f520  __PRETTY_FUNCTION__.10602
0x00007ffff7b9f540  __PRETTY_FUNCTION__.9019
0x00007ffff7b9f560  __PRETTY_FUNCTION__.9202
0x00007ffff7b9f580  __PRETTY_FUNCTION__.9445
0x00007ffff7b9f5a0  __PRETTY_FUNCTION__.10556
0x00007ffff7b9f5c0  __PRETTY_FUNCTION__.11676
0x00007ffff7b9f5e0  __PRETTY_FUNCTION__.9502
0x00007ffff7b9f600  __PRETTY_FUNCTION__.4135
0x00007ffff7b9f620  __PRETTY_FUNCTION__.4125
0x00007ffff7b9f640  __PRETTY_FUNCTION__.4116
0x00007ffff7b9f660  __PRETTY_FUNCTION__.13885
0x00007ffff7b9f680  __PRETTY_FUNCTION__.8722
0x00007ffff7b9f6a0  __PRETTY_FUNCTION__.9385
0x00007ffff7b9f6c0  __PRETTY_FUNCTION__.9415
0x00007ffff7b9f6e0  __PRETTY_FUNCTION__.9350
0x00007ffff7b9f700  __PRETTY_FUNCTION__.9295
0x00007ffff7b9f720  __PRETTY_FUNCTION__.9287
0x00007ffff7b9f740  __func__.14068
0x00007ffff7b9f750  __func__.10178
0x00007ffff7b9f760  __PRETTY_FUNCTION__.13198
0x00007ffff7b9f780  __PRETTY_FUNCTION__.9668
---Type <return> to continue, or q <return> to quit---
0x00007ffff7b9f790  __PRETTY_FUNCTION__.9714
0x00007ffff7b9f9c0  __PRETTY_FUNCTION__.10972
0x00007ffff7b9fa00  __PRETTY_FUNCTION__.11031
0x00007ffff7b9fa40  __PRETTY_FUNCTION__.10844
0x00007ffff7b9fa80  __PRETTY_FUNCTION__.10903
0x00007ffff7b9fac0  __PRETTY_FUNCTION__.10775
0x00007ffff7b9fae0  __PRETTY_FUNCTION__.10653
0x00007ffff7b9fb00  __PRETTY_FUNCTION__.10527
0x00007ffff7b9fb20  __PRETTY_FUNCTION__.10369
0x00007ffff7b9fb40  __PRETTY_FUNCTION__.10233
0x00007ffff7b9fb80  __PRETTY_FUNCTION__.10113
0x00007ffff7b9fbc0  __PRETTY_FUNCTION__.10023
0x00007ffff7b9fc00  __PRETTY_FUNCTION__.9931
0x00007ffff7b9fc40  __PRETTY_FUNCTION__.9848
0x00007ffff7b9fc60  __PRETTY_FUNCTION__.9757
0x00007ffff7b9fce0  bad_key_err
0x00007ffff7b9fd20  __PRETTY_FUNCTION__.12834
0x00007ffff7b9fe10  signmask
0x00007ffff7b9fe20  othermask
0x00007ffff7ba0200  max
0x00007ffff7ba0af8  _sys_nerr@@GLIBC_2.12
0x00007ffff7ba0af8  sys_nerr@@GLIBC_2.12
0x00007ffff7ba0afc  _sys_nerr@GLIBC_2.2.5
0x00007ffff7ba0afc  sys_nerr@GLIBC_2.2.5
0x00007ffff7ba0b00  _sys_nerr@GLIBC_2.3
0x00007ffff7ba0b00  sys_nerr@GLIBC_2.3
0x00007ffff7ba0b04  _sys_nerr@GLIBC_2.4
0x00007ffff7ba0b04  sys_nerr@GLIBC_2.4
0x00007ffff7ba1d48  _.stapsdt.base
0x00007ffff7ba1d6c  __GNU_EH_FRAME_HDR
0x00007ffff7dcb740  __start___libc_thread_subfreeres
0x00007ffff7dcb760  __stop___libc_thread_subfreeres
0x00007ffff7dcd560  _sys_errlist@@GLIBC_2.12
0x00007ffff7dcd560  _sys_errlist@GLIBC_2.2.5
0x00007ffff7dcd560  _sys_errlist@GLIBC_2.3
0x00007ffff7dcd560  _sys_errlist@GLIBC_2.4
0x00007ffff7dcd560  sys_errlist@@GLIBC_2.12
0x00007ffff7dcd560  sys_errlist@GLIBC_2.2.5
0x00007ffff7dcd560  sys_errlist@GLIBC_2.3
0x00007ffff7dcd560  sys_errlist@GLIBC_2.4
0x00007ffff7dcd9a0  __old2_sys_siglist
0x00007ffff7dcd9a0  _old2_sys_siglist
---Type <return> to continue, or q <return> to quit---
0x00007ffff7dcd9a0  _sys_siglist
0x00007ffff7dcd9a0  _sys_siglist@@GLIBC_2.3.3
0x00007ffff7dcd9a0  _sys_siglist@GLIBC_2.2.5
0x00007ffff7dcd9a0  sys_siglist@@GLIBC_2.3.3
0x00007ffff7dcd9a0  sys_siglist@GLIBC_2.2.5
0x00007ffff7dcdbc0  __old2_sys_sigabbrev
0x00007ffff7dcdbc0  sys_sigabbrev
0x00007ffff7dcdbc0  sys_sigabbrev@@GLIBC_2.3.3
0x00007ffff7dcdbc0  sys_sigabbrev@GLIBC_2.2.5
0x00007ffff7dcf000  _GLOBAL_OFFSET_TABLE_
0x00007ffff7dcf260  may_shrink_heap
0x00007ffff7dcf358  cached_result
0x00007ffff7dcf428  num_ifs
0x00007ffff7dcf42c  startport
0x00007ffff7dcf434  tty_gid
0x00007ffff7dcf6e0  __ctype32_toupper@GLIBC_2.2.5
0x00007ffff7dcf6e8  __ctype32_tolower@GLIBC_2.2.5
0x00007ffff7dcf6f0  __ctype_toupper@GLIBC_2.2.5
0x00007ffff7dcf6f8  __ctype_tolower@GLIBC_2.2.5
0x00007ffff7dcf700  __ctype32_b@GLIBC_2.2.5
0x00007ffff7dcf708  __ctype_b@GLIBC_2.2.5
0x00007ffff7dd0858  DW.ref.__gcc_personality_v0
0x00007ffff7dd0860  __bss_start
0x00007ffff7dd0860  _edata
0x00007ffff7dd0a18  modcounter
0x00007ffff7dd0a1c  lock
0x00007ffff7dd0b80  result
0x00007ffff7dd0c18  output_charset_cache
0x00007ffff7dd0c20  output_charset_cached
0x00007ffff7dd0c28  freemem_size
0x00007ffff7dd0c30  freemem
0x00007ffff7dd0c38  lock
0x00007ffff7dd0ca0  lock
0x00007ffff7dd0ce0  lock
0x00007ffff7dd0cf0  locale_alias_path
0x00007ffff7dd0d48  phys_pages
0x00007ffff7dd0d50  pagesize
0x00007ffff7dd15b8  state
0x00007ffff7dd1738  sysconf_symloop_max
0x00007ffff7dd1740  result
0x00007ffff7dd1760  nore
0x00007ffff7dd17a0  noexpr
---Type <return> to continue, or q <return> to quit---
0x00007ffff7dd17c0  yesre
0x00007ffff7dd1800  yesexpr
0x00007ffff7dd1808  once
0x00007ffff7dd1818  name
0x00007ffff7dd1858  value
0x00007ffff7dd18f0  __malloc_initialize_hook@GLIBC_2.2.5
0x00007ffff7dd18f8  next_to_use
0x00007ffff7dd1900  narenas_limit
0x00007ffff7dd1980  added_atexit_handler
0x00007ffff7dd19b8  _obstack@GLIBC_2.2.5
0x00007ffff7dd19c0  already_called
0x00007ffff7dd19e0  once
0x00007ffff7dd1a68  olds
0x00007ffff7dd1a80  state
0x00007ffff7dd1aa0  rdata
0x00007ffff7dd1ad0  init
0x00007ffff7dd1bac  is_initialized
0x00007ffff7dd1c90  gmtime_offset
0x00007ffff7dd1ca0  tmbuf
0x00007ffff7dd1ce0  resbuf
0x00007ffff7dd1d00  buffer_size
0x00007ffff7dd1d20  buffer_size
0x00007ffff7dd1d40  resbuf
0x00007ffff7dd1d80  resbuf
0x00007ffff7dd1da0  buffer_size
0x00007ffff7dd1dc0  resbuf
0x00007ffff7dd1de0  buffer_size
0x00007ffff7dd1e10  start_fct
0x00007ffff7dd1e18  startp
0x00007ffff7dd1e20  startp_initialized
0x00007ffff7dd1e28  start_fct.11672
0x00007ffff7dd1e30  startp.11671
0x00007ffff7dd1e38  startp_initialized.11670
0x00007ffff7dd1e40  resbuf
0x00007ffff7dd1e70  buffer_size
0x00007ffff7dd1e80  buffer_size
0x00007ffff7dd1ea0  resbuf
0x00007ffff7dd1ee0  resbuf
0x00007ffff7dd1f10  buffer_size
0x00007ffff7dd1f20  resbuf.9945
0x00007ffff7dd1f50  buffer_size.9944
0x00007ffff7dd1f80  start_fct
---Type <return> to continue, or q <return> to quit---
0x00007ffff7dd1f88  startp
0x00007ffff7dd1f90  startp_initialized
0x00007ffff7dd1f98  start_fct.11679
0x00007ffff7dd1fa0  startp.11678
0x00007ffff7dd1fa8  startp_initialized.11677
0x00007ffff7dd2040  lock
0x00007ffff7dd2044  once
0x00007ffff7dd20a0  namelen
0x00007ffff7dd20a8  buflen
0x00007ffff7dd20b0  tiocgsid_does_not_work
0x00007ffff7dd2140  m
0x00007ffff7dd2168  once
0x00007ffff7dd2180  tty
0x00007ffff7dd21c0  line
0x00007ffff7dd2278  bufsize
0x00007ffff7dd2280  buf
0x00007ffff7dd2400  old_file_name
0x00007ffff7dd2408  old_line_number
0x00007ffff7dd2410  timestamp
0x00007ffff7dd2418  locs@GLIBC_2.2.5
0x00007ffff7dd2420  loc2@GLIBC_2.2.5
0x00007ffff7dd2428  loc1@GLIBC_2.2.5
0x00007ffff7dd2430  last_type
0x00007ffff7dd2434  last_family
0x00007ffff7dd2440  oact
0x00007ffff7dd24e0  otimer
0x00007ffff7dd2600  buffer_size
0x00007ffff7dd2620  resbuf
0x00007ffff7dd2680  resbuf
0x00007ffff7dd26c8  buffer_size
0x00007ffff7dd26e0  resbuf
0x00007ffff7dd2728  buffer_size
0x00007ffff7dd2730  buffer
0x00007ffff7dd2740  resbuf
0x00007ffff7dd2788  buffer_size
0x00007ffff7dd27b8  start_fct
0x00007ffff7dd27c0  startp
0x00007ffff7dd27c8  startp_initialized
0x00007ffff7dd27e0  buffer_size
0x00007ffff7dd2800  resbuf
0x00007ffff7dd2840  resbuf
0x00007ffff7dd2860  buffer_size
---Type <return> to continue, or q <return> to quit---
0x00007ffff7dd2880  resbuf
0x00007ffff7dd28a0  buffer_size
0x00007ffff7dd28a8  buffer
0x00007ffff7dd28c0  resbuf
0x00007ffff7dd28e0  buffer_size
0x00007ffff7dd2910  start_fct
0x00007ffff7dd2918  startp
0x00007ffff7dd2920  startp_initialized
0x00007ffff7dd3268  result
0x00007ffff7dd3270  once
0x00007ffff7dd32a0  resbuf
0x00007ffff7dd32c0  buffer_size
0x00007ffff7dd32d0  start_fct
0x00007ffff7dd32d8  startp
0x00007ffff7dd32e0  startp_initialized
0x00007ffff7dd3300  resbuf
0x00007ffff7dd3320  buffer_size
0x00007ffff7dd3340  resbuf
0x00007ffff7dd3360  buffer_size
0x00007ffff7dd3370  start_fct
0x00007ffff7dd3378  startp
0x00007ffff7dd3380  startp_initialized
0x00007ffff7dd3388  start_fct
0x00007ffff7dd3390  startp
0x00007ffff7dd3398  startp_initialized
0x00007ffff7dd33a0  buffer_size
0x00007ffff7dd33c0  resbuf
0x00007ffff7dd3410  resbuf
0x00007ffff7dd3428  buffer_size
0x00007ffff7dd3438  start_fct
0x00007ffff7dd3440  startp
0x00007ffff7dd3448  startp_initialized
0x00007ffff7dd3450  resbuf
0x00007ffff7dd3468  buffer_size
0x00007ffff7dd3480  buffer_size.11081
0x00007ffff7dd3490  resbuf.11085
0x00007ffff7dd34d0  start_fct
0x00007ffff7dd34d8  startp
0x00007ffff7dd34e0  startp_initialized
0x00007ffff7dd34f0  resbuf
0x00007ffff7dd3508  buffer_size
0x00007ffff7dd3518  start_fct
---Type <return> to continue, or q <return> to quit---
0x00007ffff7dd3520  startp
0x00007ffff7dd3528  startp_initialized
0x00007ffff7dd3530  buffer_size
0x00007ffff7dd3540  resbuf
0x00007ffff7dd3580  resbuf.11121
0x00007ffff7dd3598  buffer_size.11120
0x00007ffff7dd35a8  start_fct.11145
0x00007ffff7dd35b0  startp.11144
0x00007ffff7dd35b8  startp_initialized.11143
0x00007ffff7dd35c0  resbuf
0x00007ffff7dd35e0  buffer_size
0x00007ffff7dd35f0  start_fct
0x00007ffff7dd35f8  startp
0x00007ffff7dd3600  startp_initialized
0x00007ffff7dd3620  resbuf.11123
0x00007ffff7dd3640  buffer_size.11122
0x00007ffff7dd3650  start_fct.11681
0x00007ffff7dd3658  startp.11680
0x00007ffff7dd3660  startp_initialized.11679
0x00007ffff7dd3680  buffer_size.11080
0x00007ffff7dd36a0  resbuf.11084
0x00007ffff7dd36e8  result
0x00007ffff7dd36f0  start_fct
0x00007ffff7dd36f8  startp
0x00007ffff7dd3700  asc
0x00007ffff7dd3718  start_fct.9898
0x00007ffff7dd3720  startp.9897
0x00007ffff7dd37c0  startp
0x00007ffff7dd37c8  startp_initialized
0x00007ffff7dd383c  once
0x00007ffff7dd3860  buffer_size
0x00007ffff7dd3880  resbuf
0x00007ffff7dd38c0  resbuf
0x00007ffff7dd38e0  buffer_size
0x00007ffff7dd38f0  start_fct
0x00007ffff7dd38f8  startp
0x00007ffff7dd3900  startp_initialized
0x00007ffff7dd3904  lock
0x00007ffff7dd3908  not_first
0x00007ffff7dd3920  tmpbuf
0x00007ffff7dd3ba0  lock
0x00007ffff7dd3ba4  once
---Type <return> to continue, or q <return> to quit---
0x00007ffff7dd3bc0  _res@GLIBC_2.2.5
0x00007ffff7dd3e80  default_table
0x00007ffff7dd3f40  port
0x00007ffff7dd3f5c  size
0x00007ffff7dd3f78  start_fct
0x00007ffff7dd3f80  startp
0x00007ffff7dd3f88  start_fct
0x00007ffff7dd3f90  startp
0x00007ffff7dd3fa0  buffer_size
0x00007ffff7dd3fb0  resbuf
0x00007ffff7dd3fd0  resbuf
0x00007ffff7dd3fe8  buffer_size
0x00007ffff7dd4000  resbuf.9861
0x00007ffff7dd4018  buffer_size.9860
0x00007ffff7dd4048  start_fct
0x00007ffff7dd4050  startp
0x00007ffff7dd4058  startp_initialized
0x00007ffff7dd4060  start_fct.9885
0x00007ffff7dd4068  startp.9884
0x00007ffff7dd4070  startp_initialized.9883
0x00007ffff7dd4080  cm
0x00007ffff7dd40f8  start_fct
0x00007ffff7dd4100  startp
0x00007ffff7dd4120  once
0x00007ffff7dd4248  crud
0x00007ffff7dd4270  lock
0x00007ffff7dd446c  devpts_mounted
0x00007ffff7dd4470  have_no_dev_ptmx
0x00007ffff7dd4ae0  _end
0x00007ffff7dcd9a0  _sys_siglist
0x00007ffff7dcdbc0  sys_sigabbrev
0x00007ffff7dd19b8  _obstack
@RyanJeong
Copy link
Author

RyanJeong commented Nov 13, 2019

valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./run

valgrind 옵션 정리

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment