[Patch, AArch64] Fix pointer assignment to param_block_t variables
Yufeng Zhang
Yufeng.Zhang@arm.com
Thu Jun 27 13:47:00 GMT 2013
Hi,
In the AArch64 libgloss backend, param_block_t is the base type for the
Angle API block parameter and is defined as "long long". Pointers are
assigned to variables of this type via explicit casting, i.e.
(param_block_t), which is OK when the pointer is 64-bit size but wrong
when we have 32-bit pointers.
This patch replace the incorrect casting with a cpp macro which casts a
pointer properly.
OK to go upstream?
Thanks,
Yufeng
libgloss/
* aarch64/syscalls.c (POINTER_TO_PARAM_BLOCK_T): New macro.
(initialise_monitor_handles): Replace the casting
with the cpp macro POINTER_TO_PARAM_BLOCK_T.
(_swiread): Likewise.
(_swiwrite): Likewise.
(_swiopen): Likewise.
(_unlink): Likewise.
(_system): Likewise.
(_rename): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 02-ptr-to-param_block_t.patch
Type: text/x-patch
Size: 3122 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20130627/4305e949/attachment.bin>
More information about the Newlib
mailing list