8.9. 컴파일러 및 개발 도구


guru 모드를 사용하는 SystemTap 스크립트를 더 빠르게 컴파일

systemtap guru 모드 활성 분석에서는 dyninst 라이브러리를 사용하여 바이너리를 구문 분석합니다. 최신 커널은 CONFIG_RETPOLINE=y 를 사용하여 완화 코드를 활성화하여 기존 RET 명령어를 thunk로 교체할 수 있습니다. 그 결과, 바이너리 분석은 활성 분석로 점프에서 도입한 제어 흐름 그래프의 모든 추가 에지를 검사해야 하므로 훨씬 더 오랜 시간이 걸렸습니다.

이번 업데이트를 통해 systemtap 은 커널 코드가 thunks를 사용할 때 활성 분석을 비활성화하고 결과적으로 guru 모드를 사용하는 systemtap 스크립트를 더 빠르게 컴파일합니다.

Bugzilla:2126805

eu-addr2line -C 가 다른 인수를 올바르게 인식

이전에는 elfutilseu-addr2line 명령에서 -C 인수를 사용할 때 다음 단일 문자 인수가 사라졌습니다. 결과적으로 eu-addr2line -Ci 명령은 eu-addr2line -C 와 동일한 방식으로 작동하지만 eu-addr2line -iC 는 예상대로 작동했습니다. 이 버그는 수정되었으며 eu-addr2line -Ci 는 이제 두 인수를 모두 인식합니다.

Bugzilla:2236183

eu-addr2line -i now GCC link-time optimization으로 컴파일된 코드를 올바르게 처리

이전에는 elfutils 에 포함된 libdw 라이브러리의 dwarf_getscopes 함수에서 GCC 링크 타임 최적화로 컴파일된 함수의 추상적인 원본 정의를 찾을 수 없었습니다. 결과적으로 eu-addr2line 명령에서 -i 인수를 사용하면 eu-addr2line 에서 gcc -flto 로 컴파일된 코드에 대한 인라인 함수를 표시할 수 없었습니다. 이번 업데이트를 통해 libdw dwarf_getscopes 함수는 인라인 범위의 올바른 컴파일 단위를 찾고 eu-addr2line -i 가 예상대로 작동합니다.

Bugzilla:2162495

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.