Hi Christian, Thanks for the explanation and the links. I did read the hello world tutorial before trying this out, otherwise, I wouldn't have gotten this far :).
Best, Sid On Thu, Feb 3, 2022 at 11:31 PM Christian Helmuth < christian.helm...@genode-labs.com> wrote: > [CAUTION: Non-UBC Email] > > Hello Sid, > > you chose most difficult place to play around with RPC functions - the > base API. I'd recommend to follow the hello-wrold tutorial [1] for > your initial steps. > > Regarding your remaining question... > > On Fri, Feb 04, 2022 at 05:14:30 CET, Sid Agrawal wrote: > > I still have the questions of whether changing the ld file is expected? > > > > On Thu, Feb 3, 2022 at 6:48 PM Sid Agrawal <siag...@cs.ubc.ca> wrote: > > > Error: size of '_ZTVN6Genode17Region_map_clientE' symbol violates ld > ABI > > > (72 bytes in ABI, 80 bytes in library) > > > make[3]: *** [/home/siagraw/genode/repos/base/mk/lib.mk:244: > > > ld-sel4.lib.checked] Error 255 > > > make[2]: *** [var/libdeps:200: ld-sel4.lib] Error 2 > > > > > > > > > I am least sure of this change. I am unsure if this is a file I should > > > even be modifying for something as simple as adding a new RPC method. > But I > > > did change it to get past the build error. > > In Genode, we established the notion of an explicit ABI to clearly > separate (platform-specific) library implementations from the clients > using the library API. This supports building components for CPU > architectures (e.g., x86_64) that are effectively kernel-agnostic and > can be run on NOVA, seL4, and Fiasco.OC without recompilation [2]. > > You added an additional virtual function to Genode::Region_map, which > I'd expect to add another entry to the vtable. Running > > > echo '_ZTVN6Genode17Region_map_clientE' | c++filt -t > vtable for Genode::Region_map_client > > reveals that our ABI checker is nagging about insufficient size of the > vtable specified in the symbols file for ld.lib.so, which comprises > the Genode base ABI implementation (incl. Genode::Region_map and > Genode::Region_map_client). For this reason, you had to adapt the > symbols spec to fit the vtable, but had not to add another global > function. > > [1] > https://genode.org/documentation/genode-foundations/21.05/getting_started/Hello_world.html > [2] > https://genode.org/documentation/release-notes/17.02#Genode_Application_Binary_Interface > https://youtu.be/fMahg-01Qbw > > Regards > -- > Christian Helmuth > Genode Labs > > https://www.genode-labs.com/ · https://genode.org/ > https://twitter.com/GenodeLabs · https://genodians.org/ > > Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden > Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth > > _______________________________________________ > Genode users mailing list > users@lists.genode.org > https://lists.genode.org/listinfo/users >
_______________________________________________ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users