This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch, avr] Fix argument passing for call


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.

Attachment: fix-argument-passing.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]