diff options
-rw-r--r-- | aclocal/prog-cc.m4 | 18 | ||||
-rw-r--r-- | aclocal/prog-cxx.m4 | 19 |
2 files changed, 34 insertions, 3 deletions
diff --git a/aclocal/prog-cc.m4 b/aclocal/prog-cc.m4 index 755cecfe35..76d27a0539 100644 --- a/aclocal/prog-cc.m4 +++ b/aclocal/prog-cc.m4 @@ -63,7 +63,23 @@ AC_DEFUN(RTEMS_PROG_CC_WORKS, AC_LANG_SAVE AC_LANG_C AC_TRY_COMPILER( -[void *malloc() { return 0; } +[ +#if defined(__PPC__) + int __SDATA_START__; int __SDATA2_START__; + int __GOT_START__; int __GOT_END__; + int __GOT2_START__; int __GOT2_END__; + int __SBSS_END__; int __SBSS2_END__; + int __FIXUP_START__; int __FIXUP_END__; + int __EXCEPT_START__; int __EXCEPT_END__; + int __init; int __fini; +#endif +#if defined(__hppa__) + asm ( ".subspa \$GLOBAL\$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40"); + asm ( ".export \$global\$" ); + asm ( "\$global\$:"); +#endif + int atexit() { return 0; } + void *malloc() { return 0; } main(){return(0);}], rtems_cv_prog_cc_works, rtems_cv_prog_cc_cross) AC_LANG_RESTORE diff --git a/aclocal/prog-cxx.m4 b/aclocal/prog-cxx.m4 index 47a61ba57e..a9648ab86a 100644 --- a/aclocal/prog-cxx.m4 +++ b/aclocal/prog-cxx.m4 @@ -61,8 +61,23 @@ AC_TRY_COMPILER( if test "$rtems_cv_prog_cxx_works" = "no"; then dnl now retry with our own version of malloc AC_TRY_COMPILER( - [extern "C" void *malloc(); - void *malloc() { return (0); } + [extern "C" void *malloc(); void *malloc() { return (0); } + extern "C" int atexit(); int atexit() { return 0; } +#if defined(__PPC__) + int __SDATA_START__; int __SDATA2_START__; + int __GOT_START__; int __GOT_END__; + int __GOT2_START__; int __GOT2_END__; + int __SBSS_END__; int __SBSS2_END__; + int __FIXUP_START__; int __FIXUP_END__; + int __EXCEPT_START__; int __EXCEPT_END__; + int __init; int __fini; +#endif +#if defined(__hppa__) + asm ( ".subspa \$GLOBAL\$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40"); + asm ( ".export \$global\$" ); + asm ( "\$global\$:"); +#endif + main(){return(0);}], rtems_cv_prog_cxx_works, rtems_cv_prog_cxx_cross) fi |