[PATCH] Force _impure_ptr in .sdata section for MIPS

Jeff Johnston jjohnstn@redhat.com
Wed Aug 2 08:35:00 GMT 2006


Checked in.  Thanks.

-- Jeff J.

Thiemo Seufer wrote:
> Hello All,
> 
> the appended patch places impure pointers in the .sdata section
> for MIPS, this allows reliable builds with GP optimisation.
> (Currently a build fails when the distance of such a pointer
> reference exceeds the 16bit immediate.)
> 
> 
> Thiemo
> 
> 
> 2006-08-01  Thiemo Seufer  <ths@mips.com>
>             Nigel Stephens  <nigel@mips.com>
> 
> 	* libc/include/sys/config.h (__ATTRIBUTE_IMPURE_PTR__): For MIPS
> 	define this to force _impure_ptr to live in the .sdata section.
> 
> Index: newlib/libc/include/sys/config.h
> ===================================================================
> RCS file: /cvs/src/src/newlib/libc/include/sys/config.h,v
> retrieving revision 1.42
> diff -u -p -r1.42 config.h
> --- newlib/libc/include/sys/config.h	31 Jan 2006 19:33:56 -0000	1.42
> +++ newlib/libc/include/sys/config.h	31 Jul 2006 14:10:52 -0000
> @@ -94,6 +94,10 @@
>  #endif
>  #endif
>  
> +#ifdef __mips__
> +#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
> +#endif
> +
>  #ifdef __xstormy16__
>  #define __SMALL_BITFIELDS
>  #undef INT_MAX



More information about the Newlib mailing list