API changes involving C99 integer types

Ralf Corsepius ralf.corsepius at rtems.org
Wed Sep 3 21:59:17 UTC 2008


On Wed, 2008-09-03 at 14:18 -0700, Till Straumann wrote:
> Between 4.7 and what is to become 4.9 a few prototypes
> (e.g., in <rtems/pci.h>, <libcpu/io.h> [powerpc]) have
> been converted from
> 
> unsigned char  -> uint8_t
> unsigned short -> uint16_t
> unsigned int   -> uint32_t
> 
> While these changes superficially may make sense they do
> introduce a major maintenance nightmare:
One major purpose of using release branches is to open opportunities to
clean up broken/flawed APIs and to not get stuck with them forever.

Also, what you consider "superficially", in most cases actually are
actual bug fixes, in most cases portability improvements or code
generalizations.

> Unfortunately, it is not possible to just migrate
> all our stuff to the new API since it must build/work
> with several RTEMS versions.
Nobody is forcing you to do so. It's your liberty to stay with old and
knowingly broken APIs and versions of the tools you are using. 

But, like everywhere else, the train is moving on and things continue to
change. The best way to keep up with development is to stay in touch
with development to avoid your works to diverge from others works.

Ralf





More information about the users mailing list