]> sourceware.org Git - systemtap.git/commit
Make the 32-bit ARM get_user() and put_user() work for 16-bit quantities
authorWilliam Cohen <wcohen@redhat.com>
Tue, 29 Oct 2013 16:44:49 +0000 (12:44 -0400)
committerWilliam Cohen <wcohen@redhat.com>
Tue, 29 Oct 2013 16:44:49 +0000 (12:44 -0400)
commiteeb0dd0473dab6514425c71b04d201f33e81aa1b
tree851c085db1b4f18d7db9d6a070c798d405ec3242
parentc9c633a8aa52c1be093eb0d44a777206c6819ca7
Make the 32-bit ARM get_user() and put_user() work for 16-bit quantities

The 32-bit ARM does not have instructions to perform 16-bit loads or
stores.  The __get_user_asm_half and __put_user_asm_half macros
sythesize those operations.  However, in most cases the pointers
passed into these macros are pointers to 16-bit types and the pointer
arithmetic will end up pointing at the next 16-bit quantity rather
than the second half (byte) of the 16-bit quantity.  The macros need
to explicitly typecast the pointers as pointers to 8-bit quantities to
make the pointer arithmetic work out properly.
runtime/linux/loc2c-runtime.h
This page took 0.028057 seconds and 5 git commands to generate.