Re: [PATCH v3] [amd64] Fix AMD64 return value ABI in expression evaluation

Tom de Vries
2019-04-17T22:30:49Z

On 16-04-19 18:39, Tom Tromey wrote:
>>>>>> ">" == Leszek Swirski via gdb-patches <gdb-patches@sourceware.org> writes:
>
>>> This ABI mismatch resulted in issues when calling a function that returns
>>> a class of size <16 bytes which has a base class, including issues such
>>> as the "this" pointer being incorrect (as it was passed as the second
>>> argument rather than the first).
>
> I'm still looking into the problem, but this regressed an internal test
> case here at AdaCore.

For me, this commit regresses like this:
...
FAIL: gdb.base/call-ar-st.exp: print print_small_structs (timeout)
FAIL: gdb.base/call-ar-st.exp: print print_small_structs from
print_long_arg_list (timeout)
FAIL: gdb.base/call-ar-st.exp: print
print_bit_flags_combo(*bit_flags_combo) (timeout)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags_char(*cflags)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags_char(*cflags)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags_short(*sflags)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags_short(*sflags)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags(*flags)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags(*flags)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags_combo(*flags_combo)
FAIL: gdb.base/call-rt-st.exp: print print_bit_flags_combo(*flags_combo)
...

Filed as PR24463 - "call-ar-st.exp/call-rt-st.exp regressions".

Thanks,
- Tom