mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-15 11:10:11 +08:00
2008-10-03 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/printk.c: Addresses can be larger than integers so use long for %p formats. * score/inline/rtems/score/address.inl: Offsets can be positive or negative, so use int32_t. Also do math with intptr_t since there are cases where the number of bits in an address do not equal the number of bits in an integer. * score/inline/rtems/score/heap.inl: Offsets can be positive or negative, so use int32_t.
This commit is contained in:
1 parent
5365e6066f
commit
db41bb6784
4 files changed
+20
-8
No files matched your search
@@ -1,3 +1,14 @@
|
||||
2008-10-03 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libcsupport/src/printk.c: Addresses can be larger than integers
|
||||
so use long for %p formats.
|
||||
* score/inline/rtems/score/address.inl: Offsets can be positive or
|
||||
negative, so use int32_t. Also do math with intptr_t since there
|
||||
are cases where the number of bits in an address do not equal the
|
||||
number of bits in an integer.
|
||||
* score/inline/rtems/score/heap.inl: Offsets can be positive or
|
||||
negative, so use int32_t.
|
||||
|
||||
2008-10-03 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add m32r.
|
||||
|
||||
@@ -113,7 +113,7 @@ void vprintk(
|
||||
case 'd': case 'D': base = 10; sign = 1; break;
|
||||
case 'u': case 'U': base = 10; sign = 0; break;
|
||||
case 'x': case 'X': base = 16; sign = 0; break;
|
||||
case 'p': base = 16; sign = 0; break;
|
||||
case 'p': base = 16; sign = 0; lflag = 1; break;
|
||||
case 's':
|
||||
{ int i, len;
|
||||
char *s;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2006.
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -39,12 +39,13 @@
|
||||
*
|
||||
* @return This method returns the resulting address.
|
||||
*/
|
||||
#include <rtems/bspIo.h>
|
||||
RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (
|
||||
void *base,
|
||||
uint32_t offset
|
||||
int32_t offset
|
||||
)
|
||||
{
|
||||
return (void *)((char *)base + offset);
|
||||
return (void *)((intptr_t)base + offset);
|
||||
}
|
||||
|
||||
/** @brief Subtract Offset from Offset
|
||||
@@ -61,10 +62,10 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (
|
||||
|
||||
RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset (
|
||||
void *base,
|
||||
uint32_t offset
|
||||
int32_t offset
|
||||
)
|
||||
{
|
||||
return (void *)((char *)base - offset);
|
||||
return (void *)((intptr_t)base - offset);
|
||||
}
|
||||
|
||||
/** @brief Subtract Two Offsets
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2006.
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -272,7 +272,7 @@ RTEMS_INLINE_ROUTINE void _Heap_Align_down_uptr (
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(
|
||||
void *base,
|
||||
uint32_t offset
|
||||
int32_t offset
|
||||
)
|
||||
{
|
||||
return (Heap_Block *) _Addresses_Add_offset( base, offset );
|
||||
|
||||
Reference in new issue
Block a user