27장. 컴파일러 및 툴


GDB는 64비트 ARM 아키텍처에서 정렬되지 않은 감시 지점 히트를 등록합니다.

이전에는 GDB 디버거에서 64비트 ARM 아키텍처에서 사용하는 시계 ,rwatcha watch GDB 명령에 대해 정렬되지 않은 하드웨어 감시 지점에 대한 제한된 지원을 제공했습니다. 결과적으로 이러한 시스템에서 실행되는 GDB 는 일부 감시 지점 히트를 등록하지 못하여 나중에 디버그된 프로그램을 중지하지 않았습니다.
GDB 는 이러한 상황을 처리하도록 확장되었습니다. 따라서 정렬되지 않은 것을 포함하여 64비트 ARM 아키텍처의 모든 하드웨어 감시 포인트를 올바르게 처리할 수 있습니다. (BZ#1347993)

IBM Z 아키텍처 GCC에서 Retpoline 지원

이번 업데이트에서는 IBM Z 아키텍처의 GCC(GNU Compiler Collection)에서 retpoline 생성 지원이 추가되었습니다. retpolines는 CVE-2017-5715에 설명된 Spectre Variant 2 공격을 완화하는 오버헤드를 줄이기 위해 커널에서 사용하는 기술입니다. (BZ#1552021)

binutils 절대 주소에 대한 재배치가 발생할 때 링커가 더 이상 예기치 않게 종료되지 않음

이전에는 binutils 패키지의 링커에서 절대 주소에 대한 재배치를 제대로 처리할 수 없었습니다. 결과적으로 이러한 재배치가 발생하면 링커의 세그먼트 결함이 발생했습니다.
절대 주소에 대한 재배치를 처리하도록 링커가 확장되었으며 더 이상 문제가 발생하지 않습니다. (BZ#1557346)

이제 GNOME 키에 인증 정보를 저장하는 도우미를 git-gnome-keyring 하위 패키지에서 사용할 수 있습니다.

이전에는 GNOME 키링에 자격 증명을 저장하는 도우미가 git 패키지의 일부이기 때문에 git 구성 요소를 종속성으로 자동 설치합니다. 이번 업데이트를 통해 도우미가 별도의 git-gnome-keyring 하위 패키지로 이동되었습니다. 결과적으로 git 설치 크기가 줄어듭니다.
하위 패키지를 설치하려면 다음을 수행합니다.
Copy to Clipboard Toggle word wrap
# yum install git-gnome-keyring
(BZ#1284081)

Git instaweb 은 이제 추가 구성없이 작동하며 별도의 하위 패키지에서 사용할 수 있습니다.

이전에는 git instaweb 명령에 웹 서버가 필요했으며 기본 설치에서는 작동하지 않았습니다. 이번 업데이트를 통해 git instawebApache 웹 서버에 따라 달라지고 웹 서버를 자동으로 사용하도록 구성된 별도의 git-instaweb 하위 패키지로 이동되었습니다. 결과적으로 git-instaweb 가 설치될 때 git instaweb 이 추가 구성 없이 작동합니다. 하위 패키지를 설치하려면 다음을 수행합니다.
Copy to Clipboard Toggle word wrap
# yum install git-instaweb
(BZ#1213059)

man 유틸리티는 자정 후 gimme gimme 을 더 이상 인쇄하지 않습니다.

이번 업데이트 이전에는 00:30 현지 시간에 표준 오류 출력에 gimme gimme gimme 을 출력하는 man 유틸리티에 동경이 발생했습니다. 그 결과 특정 상황에서 예기치 않은 출력이 자동화된 툴을 잘못 입력했습니다. 이번 업데이트에서는 동부의 말란이 제거되었으며 설명된 문제는 더 이상 발생하지 않습니다. (BZ#1515352)

sysctl 에서 이제 tuned 에서 커널 매개변수를 재설정할 수 있음

이번 업데이트 이전에는 sysctl 의 버그가 커널 매개변수를 기본값으로 설정하는 것을 허용하지 않았습니다. 결과적으로 tuned 유틸리티에서 sysctl 을 사용하여 기본 커널 매개변수를 설정할 수 없었습니다. 이번 업데이트를 통해 sysctl 은 기본값을 적용하여 커널 매개변수를 재설정합니다. 결과적으로 tuned 는 예상대로 작동하며 커널 매개 변수는 기본값으로 재설정할 수 있습니다. (BZ#1507356)

ncat 이 UDP 모드에서 환경 변수를 올바르게 설정

이전에는 ncat 유틸리티에서 UDP(User Datagram Protocol) 연결에 대한 환경 변수를 올바르게 설정하지 않았습니다. 그 결과 사용자의 스크립트가 UDP 모드에서 실패했습니다. 이번 업데이트에서는 일부 내부 값을 설정하고 환경 변수가 올바르게 설정됩니다. (BZ#1573411)

ncat 은 모든 프록시 유형에 대해 더 이상 기본 HTTP 포트를 사용하지 않습니다.

이전에는 socks4 또는 socks5 와 같은 다른 프록시 유형이 지정되어도 HTTP 프록시의 기본 포트가 사용되었습니다. 그 결과 ncat 유틸리티에서 기본이 아닌 포트를 통해 프록시 유형에 연결하지 못했습니다. 이번 업데이트에서는 HTTP 프록시 포트가 기본적으로 사용되지 않도록 코드가 수정되었습니다. 결과적으로 ncat 은 이제 프록시 유형에 따라 적절한 기본 포트를 설정합니다. (BZ#1546246)

10.0.0.1 2000 이미지의 디코딩 및 변환이 올바르게 작동합니다.

이전에는 openjpeg 라이브러리의 버그로 인해 CloudEvent 2000 이미지의 디코딩 및 변환이 제대로 작동하지 않았습니다. 이번 업데이트를 통해 기본 소스 코드가 수정되었으며 10.0.0.1 2000 이미지의 디코딩 및 변환이 예상대로 작동합니다. (BZ#1553235)

스트라이프 가 더 이상 BFD 라이브러리 버전을 사용하는 도구로 빌드되는 바이너리 파일

이전에는 파일이 처음에 strip 보다 최신 버전의 BFD 라이브러리를 사용하는 툴에 의해 생성된 경우 스트립 툴에서 유효하지 않은 바이너리 파일을 생성했습니다. 그 결과 결과 바이너리 파일을 실행하면 실패하고 확인할 수 없는 재배치에 대한 오류 메시지가 생성되었습니다. BFD 는 이러한 기능이 포함된 코드를 손상시키는 대신 향후 기능을 인식하지 못하는 상황을 보고하도록 수정되었습니다. 결과적으로 strip 는 이제 오류 메시지를 생성하고 이 상황에서 중단됩니다. (BZ#1553842)

프로세스 공유 강력한 버그 수정

이전에는 POSIX 스레드 구현의 버그로 인해 이러한 10.0.0.1이 복구되지 않을 수 있었습니다. 결과적으로 인터페이스 사용자는 프로세스가 종료되는 것을 볼 수 있었지만 EOWNERDEAD 를 복구하려는 다른 프로세스에 반환하지 않았습니다. 이번 업데이트에서는 강력한 수준의 threading 라이브러리와 모든 알려진 수정 가능한 버그가 수정되어 있습니다. (BZ#1401665)

다른 컨테이너의 프로세스에 연결할 때 gdbserver가 제대로 작동하지 않음

경우에 따라 GDB 디버거는 컨테이너에서 실행 중인 GDB 서버에 연결할 수 없으므로 불가능하지는 않더라도 컨테이너 디버깅 문제가 발생할 수 있습니다. 이 호스트에서 사용할 수 없는 소켓 쌍 을 반환한 버그가 수정되었으며 GDB와 GDBserver 모두 컨테이너로 디버그할 수 있습니다. (BZ#1578378)

operf 는 이제 충돌 없이 프로세스를 종료하기 위한 커널 이벤트 샘플을 처리

이전에는 Red Hat Enterprise Linux kernel 4.14에서 프로세스를 -1로 종료하기 위해 perf 이벤트 샘플에서 반환된 PID 값을 변경했습니다. 결과적으로 커널 perf 이벤트 하위 시스템에서 -1을 사용하면 operf 에 의해 플래그로 -1을 내부 사용과 충돌했습니다. 플래그는 프로세스 정보를 검색하는 데 초기화 작업이 필요함을 나타내는 데 사용되었습니다. 그러나 이러한 정보를 검색하려고 하면 operf 가 충돌하게 되었습니다.
이번 업데이트에서는 다른 값을 사용하여 프로세스 정보에 플래그를 지정하도록 oprofile 코드를 조정하므로 프로세스를 종료하는 데 사용되는 -1과 더 이상 충돌하지 않습니다. (BZ#1561103)

SystemTap 에서 완전한 커널 역추적 제공

ASLR(Address space layout randomization)과 관련된 커널 변경으로 인해 SystemTap 툴에서 수집한 커널 역추적이 불완전했습니다. 이러한 상황을 처리하도록 SystemTap 이 확장되었습니다. 결과적으로 SystemTap 은 완전한 커널 역추적을 제공합니다. (BZ#1567356)

fallocate() 플래그는 문서에 따라 다시 사용 가능

이전에는 glibc 패키지의 fcntl.h 헤더 파일에 fallocate() 함수에 대한 플래그가 포함되지 않았습니다. 그 결과 man 페이지에 따라 fallocate() 를 사용하는 프로그램이 컴파일되지 않았습니다. < linux/entryoc.h > 파일을 간접 포함하여 누락된 플래그가 추가되어 해당 프로그램의 컴파일이 다시 가능합니다. (BZ#1476120)

nscd netgroups 캐시가 만료 처리

이전 버전에서는 nscd 서비스를 사용하여 netgroups에 대한 LDAP 요청을 캐시할 때 캐시의 일부 항목이 올바르게 만료되지 않을 수 있었습니다. 그 결과 nscd 캐시는 서비스 데이터베이스를 올바르게 반영하지 않았습니다(예: LDAP). 캐시 만료 코드가 수정되었으며 netgroups의 변경 사항이 캐시로 올바르게 전파됩니다. (BZ#1505647)

llvm-private 최신 libstdc++ 라이브러리 버전과 함께 사용할 때 더 이상 충돌하지 않음

이전에는 그래픽 렌더링에 대한 드라이버를 제공하는 llvm-private 패키지의 실행 파일이 libstdc++ 라이브러리에 대해 정적으로 연결되었습니다. 그 결과 gRPCX, Mesa llvmpipe renderer를 사용하여 프로그램을 실행하면 잘못된 포인터에 대한 메시지와 함께 다른 libstdc++ 버전에서 예기치 않은 종료가 발생했습니다. llvm-private 변경되어 libstdc++ 에 대한 정적 링크가 아닙니다. 결과적으로 이 드라이버를 사용하는 프로그램이 더 이상 이러한 상황에서 예기치 않게 종료되지 않습니다. (BZ#1417663)
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.