4.12. 컴파일러 및 개발 도구


LLVM Toolset이 17.0.6 버전으로 업데이트됨

LLVM Toolset이 17.0.6 버전으로 업데이트되었습니다.

주요 개선 사항은 다음과 같습니다.

  • 이제 불투명 포인터 마이그레이션이 완료되었습니다.
  • 중간 단위 최적화에서 레거시 통과 관리자에 대한 지원 삭제

Clang 변경 사항:

  • C++20 coroutine은 더 이상 실험적인 것으로 간주되지 않습니다.
  • std::move 함수에 대한 코드 생성이 개선되었으며 최적화되지 않은 빌드에서 비슷합니다.

자세한 내용은 LLVMClang 업스트림 릴리스 노트를 참조하십시오.

Jira:RHEL-9283

rust Toolset 버전 1.75.0으로 업데이트됨

rust Toolset이 1.75.0 버전으로 업데이트되었습니다.

주요 개선 사항은 다음과 같습니다.

  • 지속적인 평가 시간은 무제한입니다.
  • Cleaner 패닉 메시지
  • 레지스트리 인증
  • 특성의 async fn 및 opaque 반환 유형

Jira:RHEL-12963

Go Toolset을 버전 1.21.0으로 업데이트

Go Toolset이 1.21.0 버전으로 업데이트되었습니다.

주요 개선 사항은 다음과 같습니다.

  • min,maxclear built-ins가 추가되었습니다.
  • 프로필 가이드 최적화에 대한 공식 지원이 추가되었습니다.
  • 이제 패키지 초기화 순서가 보다 정확하게 정의됩니다.
  • 유형 유추가 향상되었습니다.
  • 이전 버전과의 호환성 지원이 향상되었습니다.

자세한 내용은 Go 업스트림 릴리스 노트를 참조하십시오.

Jira:RHEL-11871[1]

Clang 리소스 디렉터리 이동

Clang이 내부 헤더 및 라이브러리를 저장하는 Clang 리소스 디렉터리가 /usr/lib64/clang/17 에서 /usr/lib/clang/17 로 이동되었습니다.

Jira:RHEL-9346

elfutils 버전 0.190으로 업데이트

elfutils 패키지가 버전 0.190으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.

  • libelf 라이브러리에서 상대 재배치(RELR)를 지원합니다.
  • libdw 라이브러리에서 .debug_[ct]u_index 섹션을 인식합니다.
  • eu-readelf 유틸리티는 이제 ELF 섹션을 사용하지 않고 동적 세그먼트를 통해 기호를 표시하는 새로운 - D,--use-dynamic --symbol 옵션을 지원합니다.
  • eu-readelf 유틸리티는 이제 .gdb_index 버전 9를 표시할 수 있습니다.
  • 새로운 eu-scrlines 유틸리티는 지정된 DWARF 또는 ELF 파일과 관련된 소스 파일 목록을 컴파일합니다.
  • 파일 이름 표현에서 60% 압축에 대해 debuginfod 서버 스키마가 변경되었습니다(이를 다시 인덱싱해야 함).

Jira:RHEL-12489

SystemTap 이 버전 5.0으로 업데이트됨

systemtap 패키지가 버전 5.0으로 업데이트되었습니다. 주요 개선 사항은 다음과 같습니다.

  • 보다 빠르고 안정적인 커널 사용자 전송.
  • 확장된 DWARF5 debuginfo 형식 지원.

Jira:RHEL-12488

GCC Toolset 13 업데이트

GCC Toolset 13은 최신 버전의 개발 도구를 제공하는 컴파일러 툴셋입니다. AppStream 리포지토리에서 소프트웨어 컬렉션 형식으로 Application Stream으로 사용할 수 있습니다.

RHEL 9.4에서 도입된 주요 변경 사항은 다음과 같습니다.

  • GCC 컴파일러가 버전 13.2.1로 업데이트되어 업스트림 GCC에서 사용할 수 있는 많은 버그 수정 및 개선 사항을 제공합니다.
  • binutils-march= znver5 컴파일러 스위치를 통해 znver5 코어를 기반으로 AMD CPU를 지원합니다.
  • annobin 이 12.32 버전으로 업데이트되었습니다.
  • GCC용 annobin 플러그인은 기본적으로 오브젝트 파일에 저장된 노트에 더 압축된 형식을 사용하므로 오브젝트 파일을 더 작고 더 빠른 링크 시간, 특히 대규모의 복잡한 프로그램에서 사용할 수 있습니다.

다음 툴 및 버전은 GCC Toolset 13에서 제공합니다.

버전

GCC

13.2.1

GDB

12.1

binutils

2.40

dwz

0.14

annobin

12.32

GCC Toolset 13을 설치하려면 root로 다음 명령을 실행합니다.

# dnf install gcc-toolset-13

GCC Toolset 13에서 툴을 실행하려면 다음을 수행합니다.

$ scl enable gcc-toolset-13 tool

GCC Toolset 13의 툴 버전이 다음 툴의 시스템 버전을 재정의하는 쉘 세션을 실행하려면 다음을 수행합니다.

$ scl enable gcc-toolset-13 bash

자세한 내용은 GCC Toolset 13 및 GCC Toolset 사용을 참조하십시오.

Jira:RHEL-23798[1]

GCC 및 -fstack-protector 플래그로 컴파일하면 더 이상 64비트 ARM에서 동적 스택 할당을 보호하지 못합니다.

이전 버전에서는 64비트 ARM 아키텍처에서 -fstack-protector 플래그를 사용하는 시스템 GCC 컴파일러에서 C99 변수 길이 배열 또는 alloca()가 할당된 함수에서 버퍼 오버플로를 감지하지 못했습니다. 결과적으로 공격자는 스택에 저장된 레지스터를 덮어쓸 수 있었습니다. 이번 업데이트를 통해 64비트 ARM의 버퍼 오버플로 탐지가 수정되었습니다. 결과적으로 시스템 GCC로 컴파일된 애플리케이션이 더 안전합니다.

Jira:RHEL-17638[1]

GCC Toolset 13: GCC 및 -fstack-protector 플래그를 사용하여 더 이상 64비트 ARM에서 동적 스택 할당을 보호하지 못합니다.

이전 버전에서는 64비트 ARM 아키텍처에서 -fstack-protector 플래그를 사용하는 GCC 컴파일러에서 C99 변수 길이 배열 또는 할당 개체가 포함된 함수에서 버퍼 오버플로를 감지하지 못했습니다. 결과적으로 공격자는 스택에 저장된 레지스터를 덮어쓸 수 있었습니다. 이번 업데이트를 통해 64비트 ARM의 버퍼 오버플로 탐지가 수정되었습니다. 결과적으로 GCC로 컴파일된 애플리케이션이 더 안전합니다.

Jira:RHEL-16998

PCP가 버전 6.2.0으로 업데이트

pcp 패키지가 버전 6.2.0으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.

  • PCP-htop 는 이제 사용자 정의 탭을 지원합니다.
  • PCP-atop 는 이제 새로운 막대 그래프 시각화 모드를 지원합니다.
  • OpenMetrics PMDA 지표 레이블 및 로깅이 향상되었습니다.
  • 추가 Linux 커널 가상 메모리 지표가 추가되었습니다.
  • 새로운 툴:

    • pmlogredact
    • pcp-buddyinfo
    • pcp-meminfo
    • pcp-netstat
    • pcp-slabinfo
    • pcp-zoneinfo

Jira:RHEL-2317[1]

grafana-selinux 패키지

이전에는 grafana-server 의 기본 설치가 unconfined_service_t SELinux 유형으로 실행되었습니다. 이번 업데이트에서는 grafana-server 에 대한 SELinux 정책이 포함되어 있고 기본적으로 grafana-server 를 사용하여 설치하는 새로운 grafana-selinux 패키지가 추가되었습니다. 그 결과 grafana-servergrafana_t SELinux 유형으로 실행됩니다.

Jira:RHEL-7505

Papi에서 새로운 프로세서 마이크로 아키텍처 지원

이번 개선된 기능을 통해 다음 프로세서 마이크로 아키텍처에서 papi 이벤트를 사전 설정하여 성능 모니터링 하드웨어에 액세스할 수 있습니다.

  • AMD Cryostat 4
  • 4th Generation Intel® Xeon® Scalable Processors

Jira:RHEL-9333[1], Jira:RHEL-9335, Jira:RHEL-9334

새로운 패키지: maven-openjdk21

maven:3.8 모듈 스트림에는 OpenJDK 21에 대한 Maven JDK 바인딩을 제공하고 시스템 OpenJDK 21을 사용하도록 Maven을 구성하는 maven-openjdk21 하위 패키지가 포함됩니다.

Jira:RHEL-13046[1]

새 패키지: libzip-tools

RHEL 9.4에는 zipcmp,zipmergeziptool 과 같은 유틸리티를 제공하는 libzip-tools 패키지가 도입되었습니다.

Jira:RHEL-17567

CMake 버전 3.26로 업데이트

cmake 패키지가 3.26 버전으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.

  • C17 및 C18 언어 표준에 대한 지원이 추가되었습니다.
  • CMake는 이제 운영 체제 식별 정보를 위해 /etc/os-release 파일을 쿼리할 수 있습니다.
  • CUDA 20 및 nvtx3 라이브러리에 대한 지원이 추가되었습니다.
  • Python 안정적인 애플리케이션 바이너리 인터페이스에 대한 지원이 추가되었습니다.
  • SWIG(Simplified Wrapper and Interface Generator) 툴에 Perl 5에 대한 지원이 추가되었습니다.

Jira:RHEL-7393

Valgrind 가 3.22로 업데이트됨

valgrind 패키지가 3.22 버전으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.

  • Val grind memcheck 는 이제 C 함수 memalign,posix_memalign, aligned_alloc, C++17 정렬 연산자에 지정된 값이 유효한 정렬 값인지 확인합니다.
  • Valgrind memcheck 는 이제 C++14 크기d 및 C++17에 대한 불일치 탐지 지원합니다.
  • DWARF 디버깅 정보에 대한 지연 읽기 지원이 추가되어 debuginfo 패키지가 설치될 때 더 빨리 시작됩니다.

Jira:RHEL-12490

libabigail 을 버전 2.4로 업데이트

libabigail 패키지가 버전 2.4로 업데이트되었습니다.

주요 개선 사항은 다음과 같습니다.

  • abidiff 툴에서는 이제 두 개의 바이너리 세트를 비교할 수 있습니다.
  • 유연한 배열 데이터 멤버와 관련된 무해한 변경 보고서를 억제하는 지원이 추가되었습니다.
  • enum 형식에 대한 무해한 변경 보고서를 억제하는 지원 개선
  • 익명의 enum, union 및 struct 유형에 대한 변경 사항을 개선했습니다.

Jira:RHEL-12491

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.