This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 03.11.2014 22:50, Jeff Johnston wrote:
Ah, yes, I just found that this did not work properly as I forgot to run automake again after adding a the file to Makefile.am..By default newlib takes __getreent() and I can overwrite __getreent to my own function. Where should I do this? I set it in config.h (#define __getreent or1k_getreent), but then I also need to define the external function (extern struct _reent *or1k_getreent(void)), correct?Actually, overriding is much easier. Newlib is designed to override shared functions with ones that are found in the libc/machine or libc/sys directories. In your case, if you have a getreent.c or getreent.S that is found in libc/machine/or1k (or whatever you designate your machine_dir in configure.host), it will override the object file built in libc/reent.
I am more looking into baremetal multicore support and found that it might be a good option to use re-entrancy on the different cores. Do you agree on this?If you don't actually have multiple threads, you might as well just use the default one found in libc/reent. There is a sample multithread version in libc/sys/linux/linuxthreads/getreent.c which uses the thread specific storage to get the current reentrancy structure for the current thread.
Thanks for your support. Best regards, Stefan
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |