[Public] Hi, Can you review the code changes and send in your comments or suggestions? Patch Inlined: --------------- The latest clang is emitting strx forms for strings earlier it was emitting strp form. Due to this change, the readelf test case is failing, fixing the regular expression in the test case fixes the issue. Similar behavior is seen with addresses and fixed that as well. Latest clang ------------ [1] DW_TAG_compile_unit DW_CHILDREN_yes DW_AT_producer DW_FORM_strx1 DW_AT_language DW_FORM_data2 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_producer : (indexed string: 0x0): AMD clang version 15.0.0 DW_AT_language : 12 (ANSI C99) <10> DW_AT_name : (indexed string: 0x1): testprog.c Old clang and Gcc ----------------- [1] DW_TAG_variable DW_CHILDREN_no DW_AT_name DW_FORM_strp <0>: Abbrev Number: 5 (DW_TAG_compile_unit) DW_AT_producer : (indirect string, offset: 0x18): GNU C17 12.0.0 20211122 <11> DW_AT_language : 29 (C11) --- binutils/testsuite/binutils-all/readelf.exp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/binutils/testsuite/binutils-all/readelf.exp b/binutils/testsuite/binutils-all/readelf.exp index 0f7a1f3b5a0..23cefab41a4 100644 --- a/binutils/testsuite/binutils-all/readelf.exp +++ b/binutils/testsuite/binutils-all/readelf.exp @@ -188,12 +188,12 @@ proc readelf_wi_test {} { ".*DW_TAG_compile_unit.*" ".*DW_TAG_subprogram.*" ".*DW_TAG_base_type.*" - ".*DW_AT_producer.*(GNU C|indirect string).*" + ".*DW_AT_producer.*(GNU C|indirect string|indexed string).*" ".*DW_AT_language.*(ANSI C|C11).*" - ".*DW_AT_name.*(testprog.c|indirect string).*" + ".*DW_AT_name.*(testprog.c|indirect string|indexed string).*" ".*DW_AT_name.*fn.*" - ".*DW_AT_name.*(main|indirect string).*" - ".*\(DW_OP_addr: 0\).*" + ".*DW_AT_name.*(main|indirect string|indexed string).*" + ".*(DW_OP_addr: 0|DW_OP_addrx <0>).*" } # The MSP430 in LARGE mode does not generate a DW_OP_addr. -- 2.25.1