Error: undefined reference to ndbm functions

Joel Sherrill joel at rtems.org
Mon Jul 1 12:28:00 UTC 2019


If you have finished ndbm, please do not attempt to write memcpy for SPARC.
It is not as important as having fenv.h methods. We have a default memcpy
implementation for all architectures. The hope was to find an already
implemented optimized version with history for the SPARC. But so far we
haven't found one with appropriate license. It will be difficult to
implement, ensure correctness, and really gain speed.

So work on filling a gap in what APIs are provided. Fenv.h

Also we need to work on merging your ndbm work.

--joel

On Mon, Jul 1, 2019, 5:54 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com> wrote:

> Hello,
> I am reading about memcpy to write it for newlib.
> Should I also write wmemcpy along with it?
> https://pubs.opengroup.org/onlinepubs/009695399/functions/wmemcpy.html
> .
> Regarding ndbm reference. RSB has not generated library files.
> - but in newlib source tree, when I compiled newlib, while porting ndbm,
> it generated *lib_a-ndbm.o* object file.
> - I am planning to use that object file to compile ndbm testsuite.
> .
> When Object file and C file are present in same directory, we can use :
> $ gcc trial.c mylib.o
> But I am not able to find out, how to use this in Makefile.am.
> LDADD replaces all global variables while compiling.
>
> I tried various codes, but could not solve it. I just want to use the
> object file (lib_a-ndbm.o)
> created while building newlib, to compile ndbm testsuite.
>
> I need guidance for this.
>
> Vaibhav Gupta
>
> On Fri, Jun 28, 2019 at 9:57 PM Gedare Bloom <gedare at rtems.org> wrote:
>
>> On Fri, Jun 28, 2019 at 7:20 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
>> wrote:
>> >
>> >
>> >
>> > On Fri, Jun 28, 2019, 6:19 PM Joel Sherrill <joel at rtems.org> wrote:
>> >>
>> >>
>> >>
>> >> On Fri, Jun 28, 2019, 8:40 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
>> wrote:
>> >>>
>> >>>
>> >>>
>> >>> On Fri, Jun 28, 2019, 5:57 PM Joel Sherrill <joel at rtems.org> wrote:
>> >>>>
>> >>>> You need to add the library to the gcc command that links the
>> program. If the libndbm is in the library search path, add -lndbm.
>> >>>>
>> >>>> I don't recall the exact Makefile variable to set for this to show
>> up. Look at the paranoia sample. It should be doing this with -lm.
>> >>>>
>> >>>> --joel
>> >>>
>> >>> Okay, I will try this!
>> >>
>> >>
>> >> The following web page is a pretty good description of building a
>> library using a native GCC and linking it into a program. It includes some
>> of the theory going on so this might help you.
>> >>
>> >> https://www.cs.swarthmore.edu/~newhall/unixhelp/howto_C_libraries.html
>> >>
>> >> Guys.. this comes up periodically, even though this is really basic
>> tool usage to me, is this something we should provide some guidance on?
>> >
>> > Actually, i tried this before, but I cannot find libndbm in my
>> development directory. I guess it is not generated.
>> > .
>> > One thing I can do is, the newlib-cygwin i compiled while porting ndbm,
>> it generated ndbm library. I can use that.
>>
>> Yes, the library should be 'bundled' with the updated compiler
>> toolchain. You need to be sure you are using this toolchain. Is it
>> what you installed to /home/varodek/development/rtems/5 ?
>>
>> Gedare
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190701/d4a70d41/attachment-0002.html>


More information about the devel mailing list