6.8. 컴파일러 및 개발 도구


ldconfig 가 중단된 시스템 업그레이드 후 더 이상 충돌하지 않음

이전에는 중단된 시스템 업그레이드 후 /usr/lib64 디렉터리에 불완전한 공유 오브젝트를 처리할 때 ldconfig 유틸리티가 세그먼트화 오류를 사용하여 예기치 않게 중지되었습니다. 이번 업데이트를 통해 ldconfig 는 시스템 업그레이드 중에 작성된 임시 파일을 무시합니다. 결과적으로 중단된 시스템 업그레이드 후 ldconfig 가 더 이상 충돌하지 않습니다.

Jira:RHEL-13720

종속성 사이클과 관련된 공유 오브젝트에 dl close 을 사용하는 애플리케이션과 glibc 호환성 개선

이전 버전에서는 glibc 에서 dlclose 함수를 사용하여 종속성 주기에서 공유 오브젝트를 언로드할 때 다른 모든 오브젝트가 언로드되기 전에 해당 오브젝트의 ELF 종료기가 호출되지 않았을 수 있었습니다. 이러한 늦은 ELF 종료자 실행으로 인해 초기 공유 개체의 종속성이 이미 초기화되지 않아 애플리케이션이 충돌 및 기타 오류가 발생했습니다.

이번 업데이트를 통해 glibc 는 다른 ELF 종료자가 시작되기 전에 언로드되는 즉시 객체의 ELF 종료자를 먼저 호출하도록 수정되었습니다. 결과적으로 종속성 주기와 관련된 공유 오브젝트에 대한 dlclose 를 사용하는 애플리케이션과의 호환성이 개선되고 충돌이 더 이상 발생하지 않습니다.

Jira:RHEL-10481[1]

glibc 광범위한 문자 쓰기 성능 개선

이전에는 glibc 의 광범위한 stdio 스트림 구현에서 기본 버퍼 크기를 광범위한 쓰기 작업을 위해 충분히 큰 것으로 취급하지 않았으며 대신 16바이트 대체 버퍼를 사용하여 성능에 부정적인 영향을 미쳤습니다. 이번 업데이트를 통해 버퍼 관리가 수정되고 전체 쓰기 버퍼가 사용됩니다. 그 결과 glibc 광범위한 문자 쓰기 성능이 향상됩니다.

Jira:RHEL-19824[1]

glibc 동적 링커는 사용자 정의 malloc 구현의 TLS 액세스를 사용하여 애플리케이션에서 수행한 재차별 malloc 호출을 방지합니다.

일부 애플리케이션은 초기 실행 TLS 대신 글로벌 동적 스레드 로컬 스토리지(TLS)를 사용하는 사용자 지정 malloc 동적 메모리 할당 구현을 제공합니다. 이전 버전에서는 글로벌 동적 TLS를 사용하는 번들 malloc 호출이 있는 애플리케이션에서 애플리케이션의 malloc 하위 시스템에 대한 재entrant 호출이 발생할 수 있었습니다. 그 결과 스택 소진 또는 내부 데이터 구조의 예기치 않은 상태로 인해 애플리케이션 malloc 호출이 충돌했습니다.

RHBA-2024:5834 권고가 릴리스되면서 glibc 동적 링커는 사용자 정의 malloc 구현에서 TLS 액세스를 감지합니다. malloc 호출 중 TLS 액세스가 감지되면 TLS 처리 중 추가 호출을 건너뛰고 malloc 호출을 다시 시작할 수 없습니다.

Jira:RHEL-39994

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.