This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch, avr] Fix argument passing for call
- From: Denis Chertykov <chertykov at gmail dot com>
- To: Pitchumani Sivanupandi <pitchumani dot s at atmel dot com>
- Cc: gdb-patches at sourceware dot org, lgustavo at codesourcery dot com, troth at openavr dot org, palves at redhat dot com
- Date: Sat, 5 Mar 2016 15:20:42 +0300
- Subject: Re: [patch, avr] Fix argument passing for call
- Authentication-results: sourceware.org; auth=none
- References: <20160301110937 dot GA3892 at CHELT0346>
2016-03-01 14:09 GMT+03:00 Pitchumani Sivanupandi <pitchumani.s@atmel.com>:
> When calling function with argument of size more than 8 bytes fails with
> an error "That operation is not available on integers of more than 8 bytes.".
> avr-gdb considers only 8 bytes (sizeof(long long)) in case of passing the
> argument in registers. When the argument is of size more than 8 byte
> then the utility function to extract bytes failed with the above error.
>
> Attached a patch fix this issue. This patch includes the fix discussed
> here: https://sourceware.org/ml/gdb-patches/2016-02/msg00884.html
> (Both fixes are in same function and the earlier is not committed)
>
> Ran the tests for avr-gdb with internal simulators. No new regressions.
>
> If ok, could someone commit please? I do not have commit access.
>
> Regards,
> Pitchumani
>
> gdb/ChangeLog
>
> 2016-03-01 Pitchumani Sivanupandi<pitchumani.s@atmel.com>
>
> * avr-tdep.c (AVR_LAST_ARG_REGNUM): Define.
> (avr_push_dummy_call): Correct last needed argument register.
> Write MSB of argument into register and subsequent bytes into
> other registers in decreasing order.
Committed.
Denis.