On 16/12/14 05:55, Juergen Gross wrote:
On 12/15/2014 01:05 PM, David Vrabel wrote:
On 11/12/14 18:04, Juergen Gross wrote:
Instead of manually list each hypercall in arch/x86/xen/xen-head.S[...]
use the auto generated symbol list.
This also corrects the wrong address of xen_hypercall_mca which was
located 32 bytes higher than it should.
Symbol addresses have been verified to match the correct ones via
objdump output.
+
+#define HYPERCALL(n) \
+ .equ xen_hypercall_##n, hypercall_page + __HYPERVISOR_##n * 32; \
+ .type xen_hypercall_##n, function; .size xen_hypercall_##n, 32
+#include <asm/xen-hypercalls.h>
+#undef HYPERCALL
The gas manual[1] suggests the syntax you've used for .type is invalid
and suggest using .type <name>, STT_FUNC
Really? In the link below I see:
The types supported are:
STT_FUNC
function
Mark the symbol as being a function name.
...
So "function" seems to be okay.
From the manual
The syntaxes supported are:
.type <name> STT_<TYPE_IN_UPPER_CASE>
.type <name>,#<type>
.type <name>,@<type>
.type <name>,%<type>
.type <name>,"<type>"
And
The first variant will be accepted by the GNU assembler on all
architectures...