Giter Club home page Giter Club logo

objdl's Introduction

This is My Google Summer of Code 2009's fruit. It implements object file dynamic loading for rtems, while you can also try it under Linux. It reuse some project source code: google's android c library bionic, ldep by Till Straumann, fileio under rtems testsuites/samples, and rki by my mentor Alan Cudmore. Thanks RTEMS and Google for giving me chance to have such a happy coding summer. Thank my mentor Alan and RTEMS' GSoC's administrator Dr.Joel for helping me when I have trouble.

*NOTE: It only support x86-32 and sparc-32 now, while other architecturs support such as arm, mips etc aren't hard to implemente. Refer [email protected]:absabs/objdl.git for the lastest source.

1. How to build 
*build for Linux
make
./dldemo -l t.o -s get

*build for RTEMS
RTEMS_MAKEFILE_PATH=YOUR_PATH_TO_BUILT_RTEMS_MAKEFILE make -f Makefile.rtems
1)if for i386-rtems, make grub load the exe under virtual machine or real hardware, have a look at rtems-grub.cfg for example.
2)if for other architectures, make your bootloader load the exe.

2. How add your dynamic object file
write the c source file as normal, then add it into Makefile or Makefile.rtems following the "t.o" example

3. As rtems only link the needed symbol into the final os image, then how to define symbols which might be needed in the future?
This issue is resolved by tools/mydeps.c infulenced heavily by ldep. mydep need a config file as its input. An example is tools/config.example. The content included between "/*" and "*/" is comment. Then put need symbols each per line. mydep output is a .c source file which we need to link into our rtems image.

Thanks,
Jisheng <[email protected]>

objdl's People

Watchers

James Cloos avatar Hesham Almatary avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.