]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Fix handling of DW_OP_GNU_push_tls_address
authorTom Tromey <tromey@adacore.com>
Wed, 17 Jan 2024 11:29:59 +0000 (04:29 -0700)
committerTom Tromey <tromey@adacore.com>
Mon, 22 Jan 2024 13:59:47 +0000 (06:59 -0700)
In one spot, DW_OP_GNU_push_tls_address is handled differently from
DW_OP_form_tls_address.  However, I think they should always be
treated identically.

Approved-by: Kevin Buettner <kevinb@redhat.com>
gdb/dwarf2/loc.c

index 8a350b402587c59dc05f338f990c3d4e4b546a22..1be5246e7a3fa42bda24d898120bffa9dcecc335 100644 (file)
@@ -1954,12 +1954,12 @@ dwarf2_get_symbol_read_needs (gdb::array_view<const gdb_byte> expr,
        case DW_OP_lt:
        case DW_OP_gt:
        case DW_OP_ne:
-       case DW_OP_GNU_push_tls_address:
        case DW_OP_nop:
        case DW_OP_GNU_uninit:
        case DW_OP_push_object_address:
          break;
 
+       case DW_OP_GNU_push_tls_address:
        case DW_OP_form_tls_address:
          if (symbol_needs <= SYMBOL_NEEDS_REGISTERS)
            symbol_needs = SYMBOL_NEEDS_REGISTERS;