4.10. 컴파일러 및 개발 도구


새로운 GCC Toolset 14

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

다음 툴 및 버전은 RHEA-2024:8851 권고와 함께 제공되는 GCC Toolset 14에서 제공됩니다.

  • GCC 14.2
  • GDB 14.2
  • binutils 2.41
  • annobin 12.70
  • dwz 0.14

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

# yum install gcc-toolset-14

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

$ scl enable gcc-toolset-14 <tool>

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

$ scl enable gcc-toolset-14 bash

GCC Toolset 14 구성 요소는 gcc-toolset-14-toolchain 컨테이너 이미지에서도 사용할 수 있습니다.

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

Jira:RHEL-34596[1], Jira:RHEL-30411

GCC Toolset 14: GCC 버전 14.2에 기반

GCC Toolset 14에서는 RHEA-2024:8864 권고를 통해 GCC(GNU Compiler Collection)가 14.2 버전으로 업데이트되었습니다.

주요 변경 사항은 다음과 같습니다.

  • 최적화 및 진단 개선
  • 강화 플래그 세트를 가능하게 하는 새로운 -fhardened 표준 옵션
  • 새로운 -fharden-control-flow-redundancy 옵션을 사용하여 제어를 기능 중으로 전송하는 공격을 탐지합니다.
  • 함수 및 변수의 속성을 스택 스크럽을 제어하는 새로운 strub 유형 속성
  • 특정 mem* 기능의 인라인 확장을 강제 적용하는 새로운 -finline-stringops 옵션
  • 새로운 OpenMP 5.1, 5.2 및 6.0 기능 지원
  • 몇 가지 새로운 C23 기능
  • 여러 가지 새로운 C++23 및 C++26 기능
  • 몇 가지 해결된 C++ 결함 보고서
  • C++ 라이브러리의 C++20, C++23 및 C++26에 대한 새롭고 개선된 실험 지원
  • 64비트 ARM 아키텍처의 새 CPU 지원
  • 64비트 Intel 아키텍처의 여러 새로운 명령 세트 아키텍처(ISA) 확장(예: AVX10.1, AVX-VNNI-INT16, SHA512, SM4)
  • GCC의 정적 분석기에서 새로운 경고
  • 특정 경고가 오류로 변경되었습니다. 자세한 내용은 GCC 14 포트로 포트를참조하십시오.
  • 다양한 버그 수정

GCC 14의 변경 사항에 대한 자세한 내용은 업스트림 GCC 릴리스 노트 를 참조하십시오.

Jira:RHEL-30412[1]

GCC Toolset 14: GDB 버전 14.2에 재기반

GCC Toolset 14에서는 GDB가 RHBA-2024:8862 권고를 통해 14.2 버전으로 업데이트되었습니다. 다음 단락에서는 GDB 12.1 이후 주요 변경 사항을 나열합니다.

일반:

  • 이제 info Cryo stats 명령에 y- state와 같이 비활성화된 Cryostat의 활성화된 Cryostat 위치가 표시됩니다.
  • ELF(ELFCOMPRESS_ZSTD)로 압축된 디버그 섹션에 대한 지원이 추가되었습니다.
  • 텍스트 사용자 인터페이스(TUI)는 기본적으로 현재 위치 표시기에 의해 강조 표시된 소스 및 어셈블리 코드를 더 이상 스타일링하지 않습니다. styling을 다시 활성화하려면 새 명령 set style tui-current-position 를 사용합니다.
  • 새로운 $_inferior_thread_count 사용 편의성 변수에는 현재 유추의 라이브 스레드 수가 포함됩니다.
  • 여러 코드 위치가 있는 Cryostat의 경우 GDB는 이제 < breakpoint_number>.<location_number > 구문을 사용하여 코드 위치를 출력합니다.
  • Cryostat가 적을 때 GDB는 $_hit_bpnum$_hit_locno 편의성 변수를 적중 Cryostat 번호 및 코드 위치 번호로 설정합니다. 이제 disable $_hit_bpnum 명령을 사용하여 마지막 hit Cryostat를 비활성화하거나 disable $_hit_ bpnum.$_hit_locno 명령을 사용하여 특정 Cryostat 코드 위치만 비활성화 할 수 있습니다.
  • NO_COLOR 환경 변수에 대한 지원이 추가되었습니다.
  • 64비트보다 큰 정수 유형에 대한 지원이 추가되었습니다.
  • 다중 대상 기능 구성에 새 명령을 사용하여 원격 대상 기능 세트를 구성할 수 있습니다(명령에 원격 < name>-packet 설정 참조 및 표시 원격 <name>-packet 표시).
  • Debugger Adapter Protocol에 대한 지원이 추가되었습니다.
  • 이제 new inferior 키워드를 사용하여 Cryostat를 유추할 수 있습니다(명령의 중단 또는 감시 참조).
  • 이제 새로운 $_shell() 편의성 함수를 사용하여 표현식 평가 중에 쉘 명령을 실행할 수 있습니다.

기존 명령 변경:

  • 중단,감시

    • breakwatch 명령에 스레드 또는 작업 키워드를 여러 번 사용하면 키워드의 마지막 인스턴스의 스레드 또는 작업 ID를 사용하는 대신 오류가 발생합니다.
    • 동일한 break 또는 watch 명령에 스레드,작업 유추 키워드 중 하나를 사용하는 것이 이제 유효하지 않습니다.
  • printf, dprintf

    • 이제 Cryo stat 및 d Cryostat 명령은 출력 명령과 동일한 방식으로 표현식을 포맷하는 %V 출력 형식을 허용합니다. 명령 다음에 대괄호 […​] 에서 추가 출력 옵션을 사용하여 출력 형식을 수정할 수도 있습니다(예: "%V[-array-indexes on]", <array> ).
  • list

    • 이제 . 인수를 사용하여 현재 프레임에서 실행 지점 주위에 위치를 인쇄하거나 유추가 아직 시작되지 않은 경우 main() 함수의 시작 부분에 있는 위치를 출력할 수 있습니다.
    • 파일에 있는 것보다 더 많은 소스 행을 나열하려고 하면 이제 사용자를 . 인수를 참조하는 경고가 발행됩니다.
  • 사용자 정의 문서

    • 이제 사용자 정의 별칭을 문서화할 수 있습니다.

새 명령:

  • print nibbles [on|off](기본값: off)를 설정하고 출력 니블 을 표시 - print/t 명령이 4비트(nibbles) 그룹에 바이너리 값을 표시할지 여부를 제어합니다.
  • debug infcall [on|off] (default: off)를 설정하고 debug infcall을 표시 - 유추 함수 호출에 대한 추가 디버그 메시지를 출력합니다.
  • debug solib [on|off](기본값: off)를 설정하고 debug solib를 표시 - 공유 라이브러리 처리에 대한 추가 디버그 메시지를 출력합니다.
  • 출력 문자 <LIMIT>를 설정하고 출력 문자,출력 - 문자 <LIMIT > - 문자열 인쇄 수를 제어합니다.
  • debug Cryostat [on|off](기본값: off)를 설정하고 디버그 Cryostat를 표시 - 번호 삽입 및 제거에 대한 추가 디버그 메시지를 출력합니다.
  • Maintenance print record-instruction [N ] - 지정된 명령에 대해 기록된 정보를 출력합니다.
  • Maintenance info frame-unwinders - 현재 우선 순위 순서로 적용되는 프레임 unwinders를 나열합니다(가장 높은 우선 순위).
  • 유지 관리 wait-for-index-cache - 인덱스 캐시에 대한 모든 보류 중인 쓰기가 완료될 때까지 기다립니다.
  • info main - 프로그램에 대한 진입점을 식별하기 위해 기본 기호에 대한 정보를 출력합니다.
  • tui 마우스 이벤트 [ on| off](기본값: )를 설정하고 tui 마우스 이벤트 표시 - 마우스 클릭 이벤트가 TUI 및 Python 확장(사용 시) 또는 터미널(사용 시)으로 전송되는지 여부를 제어합니다.

MIT(Machine Interface) 변경:

  • 버전 1이 삭제되었습니다.
  • 이제 Multus는 역방향 실행 기록이 소진될 때 no-history 를 보고합니다.
  • threadtask Cryostat 필드는 -break-insert 명령의 출력에서 더 이상 두 번 보고되지 않습니다.
  • 스레드별 Cryostat는 존재하지 않는 스레드 ID에서 더 이상 만들 수 없습니다.
  • -stack-list-arguments,-stack-list-locals,-stack-list-variables, -var-list- children 명령에 대한 --simple-values 인수는 이제 대상이 간단한 경우 참조 유형을 간단한 것으로 간주합니다.
  • 이제 -break-insert 명령에서 새 -g thread-group-id 옵션을 허용하여 유추별 Cryostat를 만들 수 있습니다.
  • build-created 알림 및 -break-insert 명령의 출력은 이제 기본 Cryostat 및 각 Cryostat 위치에 대한 선택적 유추 필드를 포함할 수 있습니다.
  • 이제 Cryostat -hit 중지 이유를 나타내는 동기화 레코드에는 다중 위치 Cryostat의 경우 코드 위치 번호를 제공하는 선택적 필드 locno 가 포함됩니다.

GDB Python API의 변경 사항:

  • 이벤트

    • 새로운 gdb.ThreadExitedEvent 이벤트
    • progspacereload 속성이 있는 ExecutableChangedEvent 오브젝트를 내보내는 새로운 gdb.executable_changed 이벤트 레지스트리입니다.
    • NewProgpspaceEventFreeProgspaceEvent 이벤트 유형을 내보내는 새로운 gdb.events.new_progspacegdb.events.free_progspace 이벤트 레지스트리입니다. 이러한 두 이벤트 유형에는 GDB에 추가되거나 제거되는 gdb.Progspace 프로그램 공간을 지정하는 단일 속성 progspace 가 있습니다.
  • gdb.unwinder.Unwinder 클래스

    • 이제 name 속성이 읽기 전용입니다.
    • __init__ 함수의 name 인수는 str 유형이어야 합니다. 그렇지 않으면 TypeError 가 발생합니다.
    • enabled 속성은 이제 bool 유형만 허용합니다.
  • gdb.PendingFrame 클래스

    • 새로운 방법: name,is_valid,pc,language,find_sal,block, and function, which mirror similar methods of the gdb.Frame class.
    • create_unwind_info 함수의 frame-id 인수는 이제 pc,sp특수 특성에 대한 정수 또는 gdb.Value 개체가 될 수 있습니다.
  • gdb.PendingFrame.create_unwind_info 함수에 전달할 수 있는 새로운 gdb.unwinder.FrameId 클래스입니다.
  • gdb.disassembler.DisassemblerResult 클래스는 더 이상 하위 클래스로 분류할 수 없습니다.
  • gdb.disassembler 모듈에는 이제 스타일링 지원이 포함됩니다.
  • GDB/MI 명령을 호출하고 Python 사전으로 결과를 반환하는 새로운 gdb.execute_mi(COMMAND, [ARG]…​) 함수입니다.
  • GDB가 처리해야 하는 모든 신호를 차단하는 컨텍스트 관리자를 반환하는 새로운 gdb.block_signals() 함수입니다.
  • start 메서드에서 gdb.block_signals 함수를 호출하는 새로운 gdb. Thread 클래스의 thread 클래스입니다.
  • gdb.parse_and_eval 함수에는 글로벌 기호에 대한 구문 분석을 제한하는 새로운 global_context 매개변수가 있습니다.
  • gdb.Inferior 클래스

    • 알려진 경우 inferior에 대한 명령줄 인수를 보유하는 새 인수 특성입니다.
    • 알려진 경우 inferior의 기본 함수의 이름을 보유하는 새로운 main _name 속성입니다.
    • 시작하기 전에 inferior의 환경을 수정할 수 있는 새로운 clear_env,set_envunset_env 메서드입니다.
  • gdb.Value 클래스

    • 개체 값을 할당 하는 새 할당 방법입니다.
    • 배열과 같은 값을 배열로 변환하는 새로운 to_array 메서드입니다.
  • gdb.Progspace 클래스

    • 지정된 주소를 포함하는 gdb.Objfile 오브젝트를 반환하는 새로운 objfile_for_address 메서드(있는 경우)
    • Progspace.filename 변수에 해당하는 gdb.Objfile 오브젝트를 보유하는 새로운 symbol_file 속성(또는 파일 이름이 None 인 경우 None).
    • 새로운 executable_filename 속성: exec-file 또는 file 명령으로 설정된 파일 이름으로 문자열을 보유하거나 실행 파일이 설정되지 않은 경우 None 입니다.
  • gdb.Breakpoint 클래스

    • 유추할 수 있는 특정 속성 또는 None 이 설정되어 있지 않은 경우 None에 대한 inferior ID(정수)를 포함하는 새로운 inferior 특성입니다.
  • gdb.Type 클래스

    • is_array_likeis_string_like 메서드는 형식의 실제 유형 코드에 관계없이 형식이 배열 또는 문자열일 수 있는지 여부를 나타냅니다.
  • 예기치 않은 적용 결과에 대한 기본 클래스로 사용할 수 있는 새로운 gdb.Value Cryostater 클래스입니다.
  • 새로 구현된 gdb.LazyString.__str__ 메서드.
  • gdb.Frame 클래스

    • 중첩된 함수 프레임의 외부 프레임을 반환하는 새로운 static_link 메서드입니다.
    • 새로운 gdb.Frame. Cryostat 메서드는 프레임 언어의 이름을 반환합니다.
  • gdb.Command 클래스

    • GDB는 이제 gdb.Command 클래스와 gdb.Parameter 하위 클래스의 doc 문자열을 다시 포맷하여 문자열을 도움말 출력으로 사용하기 전에 각 줄에서 불필요한 선행 공백을 제거합니다.
  • gdb.Objfile 클래스

    • is_file 속성.
  • 디스패처에서 주소, 기호 및 오프셋 정보를 출력할 때와 동일한 형식을 사용하는 새로운 gdb.format_address(ADDRESS, PROGSPACE, ARCHITECTURE) 기능.
  • 현재 언어의 이름을 반환하는 gdb.current_ language 함수입니다.
  • gdb.disassembler.register_disassembler (DISASSEMBLER, ARCH), gdb.disassembler.Disassembler , gdb.disassembler.Disassembler.Disassembler ,gdb.disassembler.DisassembleInfo 를 포함한 새로운 Python API GDB.disassembler.builtin_disassemble(INFO, MEMORY_SOURCE)gdb.disassembler.DisassemblerResult.
  • gdb.Value.format_string 함수에서 허용하는 형태로 사전을 반환하는 새로운 gdb.print_options 함수입니다.
  • The gdb.Value.format_string function

    • GDB.Value.format_string인쇄 또는 기타 유사한 작업 중에 호출되는 경우 print 명령에서 제공하는 형식을 사용합니다.
    • GDB.Value.format_string 은 이제 summary 키워드를 허용합니다.
  • 새로운 gdb.BreakpointLocation Python 유형.
  • gdb.register_window_type 메서드는 허용 가능한 창 이름 집합을 제한합니다.

아키텍처별 변경 사항:

  • AMD 및 Intel 64비트 아키텍처

    • 현재 기본적으로 사용되는 libopcodes 라이브러리를 사용하여 디스어셈블러 스타일링 지원이 추가되었습니다. set style deassembler * 명령을 사용하여 disassembler 출력이 스타일링되는 방식을 수정할 수 있습니다. 대신 Python Pygments 스타일링을 사용하려면 새 유지 관리 세트 libopcodes-styling off 명령을 사용합니다.
  • 64비트 ARM 아키텍처

    • Memory Tagging Extension(MTE)에 대한 메모리 태그 데이터 덤프 지원이 추가되었습니다.
    • Scalable Matrix Extension 1 및 2 (SME/SME2)에 대한 지원이 추가되었습니다. 일부 기능은 여전히 실험적 또는 알파로 간주됩니다. 예를 들어 ZA 상태의 수동 기능 호출 또는 DWARF를 기반으로 확장 가능한 벡터 그래픽(SVG) 변경 사항을 추적합니다.
    • 스레드 로컬 스토리지(TLS) 변수에 대한 지원이 추가되었습니다.
    • 하드웨어 감시에 대한 지원이 추가되었습니다.
  • 64비트 IBM Z 아키텍처

    • 특수 기능-assist 명령 NNPA 를 제외하고 IBM Z 대상에서 새로운 arch14 명령을 기록하고 재생합니다.
  • IBM Power Systems, Little Endian

    • POWER11에 대한 기본 활성화 지원이 추가되었습니다.

Jira:RHELDOCS-18598[1], Jira:RHEL-36225, Jira:RHEL-36518

GCC Toolset 14: annobin 재기반 버전 12.70

GCC Toolset 14에서는 annobinRHBA-2024:8863 권고를 통해 12.70 버전으로 업데이트되었습니다. 바이너리 테스트를 위한 업데이트된 annobin 툴 세트는 다양한 버그 수정을 제공하고, 새로운 테스트를 도입하며 최신 버전의 GCC, Clang, LLVM 및 Go 컴파일러와 함께 빌드 및 작업하기 위한 툴을 업데이트합니다. 향상된 도구를 사용하면 비표준 방식으로 구축된 프로그램에서 새로운 문제를 감지할 수 있습니다.

Jira:RHEL-30409[1]

GCC Toolset 13: GCC는 AMD 5를 지원합니다.

RHBA-2024:8829 권고를 통해 GCC Toolset 13 버전은 AMD 5 프로세서 마이크로 아키텍처에 대한 지원을 추가합니다. 지원을 활성화하려면 -march=znver5 명령줄 옵션을 사용합니다.

Jira:RHEL-36524[1]

LLVM Toolset이 18.1.8로 업데이트되었습니다.

LLVM Toolset이 RHBA-2024:8828 권고와 함께 버전 18.1.8로 업데이트되었습니다.

주요 LLVM 업데이트:

  • 다음 명령의 상수 변형이 제거되었습니다. ,또는,lshr,zext,섹시 ,fptrunc,fpext , fptoui ,fptoui,uitofp,sitofp.
  • llvm.exp10 내장이 추가되었습니다.
  • 전역 변수의 code_model 속성이 추가되었습니다.
  • AArch64, AMDGPU, PowerPC, RISC-V, SystemZ 및 x86 아키텍처의 백엔드가 향상되었습니다.
  • LLVM 툴이 개선되었습니다.

주요 Clang 개선 사항:

  • C++20 기능 지원:

    • Clang은 글로벌 모듈 조각에서 더 이상 하나의 정의 규칙(ODR) 검사를 수행하지 않습니다. 보다 엄격한 동작을 활성화하려면 -Xclang -fno-skip-odr-check-in-gmf 옵션을 사용합니다.
  • C++23 기능 지원:

    • 람다에서 특성 사용을 경고하기 위해 새로운 진단 플래그 -Wc++23-lambda-attributes 가 추가되었습니다.
  • C++2c 기능 지원:

    • Clang에서는 이제 동일한 범위에서 _ 문자를 자리 표시자 변수 이름으로 여러 번 사용할 수 있습니다.
    • 이제 특성에서 문자열 리터럴인 속성 매개변수에서 평가되지 않은 문자열이 예상됩니다.
    • C++26의 열거에서 더 이상 사용되지 않는 연산 변환이 제거되었습니다.
    • 템플릿 매개변수 초기화 사양이 개선되었습니다.
  • 전체 변경 사항 목록은 Clang의 업스트림 릴리스 노트를 참조하십시오.

Clang의 ABI 변경:

  • x86_64용 SystemV ABI 뒤에 __int128 인수가 더 이상 레지스터와 스택 슬롯 간에 분할되지 않습니다.
  • 자세한 내용은 Clang의 ABI 변경 목록을 참조하십시오.

주요 이전 버전과 호환되지 않는 변경 사항:

  • 템플릿된 연산자에 대한 역방향 인수 순서의 버그 수정으로 C++20의 코드가 손상되고 이전에 C++17에서 허용되었습니다.
  • GCC_INSTALL_PREFIX CMake 변수(기본 --gcc-toolchain=)는 더 이상 사용되지 않으며 제거됩니다. 대신 구성 파일에 --gcc-install-dir= 또는 --gcc-triple= 옵션을 지정합니다.
  • 미리 컴파일된 헤더(PCH) 생성(-c -xc-header-c -xc++-header)의 기본 확장 이름은 이제 .gch 대신 .pch 입니다.
  • -include a.h.gch 파일을 프로브하는 경우 include는 이제 Clang PCH 파일이거나 Clang PCH 파일이 포함된 디렉터리인 경우 a .h.gch 를 무시합니다.
  • __has_cpp_attribute__has_c_attribute 로 인해 특정 C++-11 스타일 속성에 대한 잘못된 값을 반환하는 버그가 수정되었습니다.
  • 역방향 operator== 를 추가하는 동안 일치하는 operator!= 를 찾는 버그가 수정되었습니다.
  • 함수 템플릿에 대한 이름 관리 규칙이 변경되어 해당 템플릿 매개변수 목록에서 함수를 과부하하거나 필요할 수 있습니다.
  • 이제 시스템 헤더 및 매크로에서 -Wenum-constexpr-conversion 경고가 기본적으로 활성화됩니다. 다음 Clang 릴리스에서 하드(다운할 수 없음) 오류로 전환됩니다.
  • 모듈 이름이 지정된 C++20에 대해 가져온 모듈의 경로는 더 이상 하드 코딩할 수 없습니다. 명령줄에서 모든 종속 모듈을 지정해야 합니다.
  • import <module> 을 사용하여 모듈을 가져올 수 없습니다. Clang에서는 명시적으로 빌드된 모듈을 사용합니다.
  • 자세한 내용은 변경 사항이 손상될 가능성이 있는 목록을 참조하십시오.

자세한 내용은 LLVM 릴리스 노트 및 Clang 릴리스 노트를 참조하십시오.

LVM Toolset은 롤링 애플리케이션 스트림이며 최신 버전만 지원됩니다. 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 문서를 참조하십시오.

Jira:RHEL-30907[1]

rust Toolset을 버전 1.79.0으로 다시 기반

rust Toolset이 RHBA-2024:8827 권고를 릴리스하여 1.79.0 버전으로 업데이트되었습니다. 이전에 사용 가능한 버전 1.75.0 이후 주요 개선 사항은 다음과 같습니다.

  • 새로운 offset_of! 매크로
  • C 문자열 리터럴 지원
  • 인라인 const 표현식 지원
  • 연결된 유형 위치에서 경계 지원
  • 자동 수명 연장 개선
  • 안전하지 않은 사전 조건의 디버그 어설션

rust Toolset은 롤링 애플리케이션 스트림이며 최신 버전만 지원됩니다. 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 문서를 참조하십시오.

Jira:RHEL-30073[1]

버전 1.22에 따라 도구 세트 세트 업데이트

Go Toolset이 RHSA-2024:8876 권고를 릴리스하여 버전 1.22로 업데이트되었습니다.

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

  • for 루프의 변수가 반복별로 생성되어 실수로 버그를 공유하지 않습니다. 또한 for 루프는 이제 정수를 초과할 수 있습니다.
  • 작업 공간의 명령은 이제 작업 공간의 종속 항목에 대해 벤더 디렉터리를 사용할 수 있습니다.
  • go get 명령은 더 이상 레거시 GOPATH 모드를 지원하지 않습니다. 이 변경 사항은 go buildgo test 명령에는 영향을 미치지 않습니다.
  • vet 툴이 for 반복문의 새 동작과 일치하도록 업데이트되었습니다.
  • 각 힙 오브젝트에 유형 기반 가비지 컬렉션 메타데이터를 유지하여 CPU 성능이 향상되었습니다.
  • 이제 확대를 통해 성능 향상을 위한 최적화와 개선된 프로필 가이드 최적화 지원이 제공됩니다.
  • 새로운 math/rand/v2 패키지를 사용할 수 있습니다.
  • 이제 Go는 메서드 및 와일드카드를 지원하는 향상된 HTTP 라우팅 패턴을 제공합니다.

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

Go Toolset은 롤링 애플리케이션 스트림이며 최신 버전만 지원됩니다. 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 문서를 참조하십시오.

Jira:RHEL-46972[1]

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-15924

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-15926

Clang 리소스 디렉터리 이동

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

Jira:RHEL-9299

grafana-selinux 패키지

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

Jira:RHEL-7503

GCC Toolset 13 업데이트

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

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

  • 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로 다음 명령을 실행합니다.

# yum 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-25405[1]

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

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

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

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

Clang 변경 사항:

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

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

Jira:RHEL-9028

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

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

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

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

Jira:RHEL-12964

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

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

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

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

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

Jira:RHEL-11872[1]

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

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

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

Jira:RHEL-9336[1], Jira:RHEL-9320, Jira:RHEL-9337

ant가 버전 1.10.9로 업데이트됨

ant:1.10 모듈 스트림이 버전 1.10.9로 업데이트되었습니다. 이 버전은 공급자 클래스 및 공급자 인수를 사용하여 코드 서명을 지원합니다.

참고

업데이트된 ant:1.10 모듈 스트림은 antant-lib 패키지만 제공합니다. Cryostat와 관련된 나머지 패키지는 지원되지 않는 CRB(CodeReady Linux Builder) 리포지토리의 javapackages-tools 모듈에 배포되며 업데이트되지 않았습니다.

업데이트된 ant:1.10 모듈 스트림의 패키지는 javapackages-tools 모듈의 패키지와 동시에 사용할 수 없습니다. Cryostat 관련 패키지 전체 세트를 사용하려면 ant:1.10 모듈을 제거한 후 비활성화한 후 CRB 리포지토리를 활성화하고 javapackages-tools 모듈을 설치해야 합니다.

Jira:RHEL-5365

새로운 패키지: maven-openjdk21

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

Jira:RHEL-17126[1]

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-7396

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.