Here you go. I did not plug it into the .S files, otherwise we will be
colliding.
Does the Makefile machinery look right according to the way is done in
Akaros? Any changes?

https://github.com/dlibenzi/akaros/commit/323172ae6fc847a8c1d48526b9c044e2ffad6ef8


On Fri, Dec 4, 2015 at 11:45 AM, Davide Libenzi <[email protected]> wrote:

> Missing piece:
>
> #pragma once
>
> /* Automatically generated file using gen_offsets
>  * DO NOT EDIT!
>  */
>
> #define abc_a           24
> #define abc_b           152
> #define abc_c           160
>
>
>
> On Fri, Dec 4, 2015 at 11:42 AM, Davide Libenzi <[email protected]>
> wrote:
>
>> I already did the skeleton ☺
>>
>> We have a C file (not included in builds - as in producing .o results)
>> which looks like:
>>
>> [elsewhere in our foo.h file]
>> struct abc {
>>
>>         float h[6];
>>     int a[32];
>>     long b;
>>     double c;
>> };
>>
>> [asm-offsets.c]
>> #include <foo.h>
>> ...
>>
>>
>> #define EMIT_OFFSET(name, type, field) \
>>     unsigned long __offsetof_ ## name = (unsigned long) &(((type *) 
>> 0)->field)
>>
>> EMIT_OFFSET(abc_a, struct abc, a);
>> EMIT_OFFSET(abc_b, struct abc, b);
>> EMIT_OFFSET(abc_c, struct abc, c);
>> ...
>>
>> Then we have a perl script (Yay!) like this:
>>
>> https://gist.github.com/dlibenzi/a31c823a0c8adedd66ab
>>
>> That we run as:
>>
>> $ gen_offsets -i asm-offsets.c -o somewhere/generated/asm-offset.h 
>> x86_64-ucb-akaros-gcc -Isomewhere -Dsomething ...
>>
>> That will use gcc-S to generate an asm file, than the Perl script parses it 
>> and create the H file.
>>
>>
>>
>>
>> On Fri, Dec 4, 2015 at 11:28 AM, Barret Rhoden <[email protected]>
>> wrote:
>>
>>> On 2015-12-04 at 10:47 "'Davide Libenzi' via Akaros"
>>> <[email protected]> wrote:
>>> > I didn't say do it like exactly Linux ☺
>>> > Let me take a look ...
>>>
>>> just don't go nuts with it.  =)  trapentry and all of the asm related
>>> to context switches are delicate things.  you just happened to see some
>>> of it in this diff.  =)
>>>
>>> barret
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Akaros" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to