8.12. 컴파일러 및 개발 도구
glibc
가 NSS 모듈을 로드한 후 errno를 복원합니다.
이전 버전에서는 마지막 NSS 모듈에서 데이터를 제공하지 않은 경우 getpwent()
와 같은 함수를 사용하여 glibc
의 NSS(Name Service Switch) 구현에서 errno를 잘못 설정했습니다. 결과적으로 이러한ECDHE 함수를 사용하는 애플리케이션이 오류를 잘못 관찰하고 실패했습니다. glibc
는 이제 NSS 모듈을 로드한 후 errno를 복원하므로 이러한 기능을 사용하는 애플리케이션이 더 이상 실패하지 않습니다.
감사 인터페이스는 이제 x8 레지스터와 AArch64에 대한 NEON 레지스터의 전체 너비를 저장하고 복원합니다.
이전에는 동적 로더의 감사 인터페이스를 구현하는 버그로 인해 프로시저 호출 표준에 비해 AArch64
저장된 레지스터 상태가 불완전했습니다. 이 버그는 수정되었으며 감사 인터페이스는 이제 x8 레지스터와 AArch64
용 NEON 레지스터의 전체 너비를 저장하고 복원합니다. 동적 로더 감사 인터페이스를 사용하는 애플리케이션은 이제 AArch64
에 대한 x8 레지스터를 검사하고 영향을 미칠 수 있습니다. 이 새로운 x8 레지스터를 사용하고 AArch64
에서 NEON 레지스터의 전체 너비에 액세스하려면 새로운 버전의 인터페이스 (LAV_ECDHERRENT)를 사용하려면 감사 모듈을 다시 작성해야 합니다.
POWER9-optimized strncpy 함수가 더 이상 잘못된 결과를 제공하지 않음
이전에는 POWER9 strncpy 함수가 패딩을 위한 NUL 바이트의 소스로 올바른 레지스터를 사용하지 않았습니다. 그 결과 출력 버퍼에 NUL 패딩 대신 초기화되지 않은 레지스터 콘텐츠가 포함되었습니다. 이번 업데이트를 통해 strncpy 함수가 수정되었으며 출력 버퍼의 끝은 이제 NUL 바이트로 올바르게 채워집니다.
IBMz15 아키텍처에 설치된 glibc
memmem
함수의 Valgrind 덮어쓰기
이전 버전에서는 glibc
memmem
함수의 valgrind 재정의가 누락되어 다음과 같은 잘못된 긍정 경고가 발생합니다.
Conditional jump or move depends on uninitialised value(s)
이번 업데이트에는 glibc
memmem
함수의 valgrind 덮어쓰기가 포함되어 있으며 결과적으로 IBMz15 아키텍처의 valgrind 아래 실행되는 프로그램에서 memmem
함수를 사용할 때 더 이상 긍정 경고가 발생하지 않습니다.