Dynamic load real-time tasks
Chris Johns
chrisj at rtems.org
Thu Jun 29 07:45:23 UTC 2017
On 28/6/17 8:03 pm, Павел Жданов wrote:
>
> >
> > Have you loaded a symbol table for the base image that contains the 'printf'
> > function.
> >
> >
> > I created it but symbols are all undefined. Is it OK?
>
> Did you load the symbol table on to the target somehow?
>
>
> I quess I didn't load it.
>
> At the moment I try to modify dl01 example to load dl-o1.o from filesystem.
>
> My Makefile:
> all:
> i386-rtems4.11-gcc -B$(RTEMS_MAKEFILE_PATH)lib/ -specs bsp_specs -qrtems
> -mtune=i486 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -MT filesystem.o -MD -MP -MF
> .deps/filesystem.Tpo *-c -o filesystem.o filesystem.c*
> i386-rtems4.11-gcc -B../../../../../pc486/lib/ -specs bsp_specs -qrtems
> -DHAVE_CONFIG_H -I. -I../../../../../../../c/src/../../testsuites/libtests/dl01
> -I..
> -I../../../../../../../c/src/../../testsuites/libtests/../support/include
> -mtune=i486 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -MT dl-o1.o -MD -MP -MF .deps/dl-o1.Tpo *-c
> -o dl-o1.o dl-o1.c*
> i386-rtems4.11-gcc -B../../../../../pc486/lib/ -specs bsp_specs -qrtems
> -DHAVE_CONFIG_H -I. -I../../../../../../../c/src/../../testsuites/libtests/dl01
> -I..
> -I../../../../../../../c/src/../../testsuites/libtests/../support/include
> -mtune=i486 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo *-c
> -o init.o init.c*
> i386-rtems4.11-gcc -B../../../../../pc486/lib/ -specs bsp_specs -qrtems
> -DHAVE_CONFIG_H -I. -I../../../../../../../c/src/../../testsuites/libtests/dl01
> -I..
> -I../../../../../../../c/src/../../testsuites/libtests/../support/include
> -mtune=i486 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -MT dl-load.o -MD -MP -MF .deps/dl-load.Tpo
> *-c -o dl-load.o dl-load.c*
> i386-rtems4.11-gcc -B../../../../../pc486/lib/ -specs bsp_specs -qrtems
> -mtune=i486 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -Wl,-Ttext,0x00100000 -mtune=i486 *-o
> dl01.pre.exe init.o dl-load.o dl-o1.o filesystem.o*
> mv dl01.pre.exe dl01.pre
> rtems-syms -e -c "-mtune=i486 -O2 -g -Wall -Wmissing-prototypes
> -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs" *-o
> dl-sym.o dl01.pre*
> i386-rtems4.11-gcc -B../../../../../pc486/lib/ -specs bsp_specs -qrtems
> -mtune=i486 -O2 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration
> -Wstrict-prototypes -Wnested-externs -Wl,-Ttext,0x00100000 -mtune=i486 *-o
> dl01.exe init.o dl-load.o dl-o1.o dl-sym.o filesystem.o*
>
> filesystem.c contains functions to mount dos partition.
>
> The output is:
> dlopen failed: duplicate global symbol: rtems_main
You have linked the object you wish to run time load into the base kernel
executable.
Chris
More information about the users
mailing list