8.11. 컴파일러 및 개발 도구


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

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

Jira:RHEL-14383

glibc 에서 malloc arena tuning에 구성된 프로세서 수 사용

이전에는 glibc 에서 malloc 의 최대값 튜닝을 위해 스레드별 CPU 선호도 마스크를 사용했습니다. 결과적으로 스레드 선호도 마스크를 시스템의 CPU의 작은 하위 집합으로 제한하면 성능이 저하될 수 있습니다.

glibc 는 최대 범위 수를 결정하기 위해 구성된 CPU 수를 사용하도록 변경되었습니다. 결과적으로 애플리케이션은 제한된 스레드 CPU 선호도 마스크로 실행되는 경우에도 더 많은 수의 아라스를 사용하고 성능 저하가 더 이상 발생하지 않습니다.

Jira:RHEL-17157[1]

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

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

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

Jira:RHEL-2491[1]

더 이상 디렉토리 실행을 시도하지 않음

이전 버전에서는 실행 파일을 실행하려고 하는 실행 파일이 실제로 실행 중인지 확인하지 않았습니다. 결과적으로 경로에 실행 파일과 이름이 같은 디렉터리가 포함된 경우 대신 디렉터리 실행하려고 합니다. 이번 업데이트를 통해 실행 파일을 검색할 때 추가 검사를 수행합니다. 결과적으로 더 이상 디렉터리를 실행하려고 하지 않습니다.

Jira:RHEL-22829

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

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

Jira:RHEL-19862[1]

glibc getaddrinfo 함수가 ncsd 캐시 정보를 올바르게 읽습니다.

이전에는 glibc getaddrinfo 함수의 버그로 인해 종종 목록 주소 정보 구조에서 빈 요소를 반환했습니다. 이번 업데이트를 통해 ncsd 캐시 데이터를 올바르게 읽고 변환하도록 getaddrinfo 함수가 수정되었으며 결과적으로 올바른 주소 정보를 반환합니다.

Jira:RHEL-16643

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

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

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

Jira:RHEL-12362

gRPCSD가 일관성 없는 캐시 만료 정보로 인해 더 이상 시작되지 않음

이전에는 glibc Name Service Switch Caching Daemon(nscd)이 영구 캐시 파일의 일관성 없는 캐시 만료 정보로 인해 시작되지 못했습니다. 이번 업데이트를 통해 ncsd 는 이제 삭제에 대한 타이밍 정보가 일치하지 않는 캐시 항목을 표시하고 이를 건너뜁니다. 결과적으로 ncsd 가 일관성 없는 캐시 만료 정보로 인해 더 이상 시작되지 않습니다.

Jira:RHEL-3397

지속적으로 빠른 glibc 스레드 로컬 스토리지 성능

이전 버전에서는 glibc 동적 링커가 dlopen() 함수를 사용하여 TLS와 공유 오브젝트를 로드한 후 특정 스레드-로컬 스토리지(TLS) 메타데이터를 조정하지 않아 TLS 액세스 속도가 느려졌습니다. 이번 업데이트를 통해 동적 링커는 이제 dlopen() 호출으로 인한 TLS 변경에 대한 TLS 메타데이터를 업데이트합니다. 결과적으로 TLS 액세스가 일관되게 빨라집니다.

Jira:RHEL-2123

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.