This is the mail archive of the newlib@sources.redhat.com 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]

Re: reent.h


Jeff Johnston wrote:
1. Does Newlib really take care about binary compatibility?
In this particular case, care was taken to see that the entire library didn't require recompiling everytime a new reentrancy field was added. Newlib hasn't got proper dependency statements in its make files so moving all the reentrancy fields around requires almost a complete rebuild; the makefiles do not catch this. At the time, the old malloc area was still in place but not being used so the first change started to reclaim the area with the union.

2. I want to add new fields to struct _reent. Do I need to add these fields to _reent field of _new union to support binary compatibility? May I not to care about binary compatibility and have no problems during future contributions to Newlib?


Add them there in the non-reent-small case for the reason explained above.

3. In case of REENT_SMALL defined there is no reserved space in struct _reent. Should I use struct misc_reent * ?


Yes, unless the new variables naturally belong with some of the other groupings. Remember to change the initialization code too.
Yes, I did this.

-- Jeff J.


Ok, I've added my field to struct _misc.

We've implemented setlocale() and this field is _locale_t structure. But there is old locale-related field (_current_locale) present. It isn't needed anymore. We can't delete it without struct _reent size affecting. Should we just leave this field alone?

--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]