Posted a proper CR, even because that commit was rooted on the perf branch ☺
On Fri, Dec 4, 2015 at 1:37 PM, Davide Libenzi <[email protected]> wrote: > 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.
