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.
