GCC version problem

I have a host PC and a target system .
Host System -> gcc (3.2) Redhat linux kernel 2.4.20-8 , glibc 2.3
Target System -> gcc (4.1) Fedora linux kernel 2.6.18-1.2798.fc6, glibc 2.5

I would like to build test program that can be run on both systems
---------------------------
#include <stdio.h>
main(){
printf("hello world \n");
}
---------------------------

g++ -c test.c -o test

ldd on Host System
linux-gate.so.1 => (0x00d42000)
libc.so.6 => /lib/libc.so.6 (0x00b0c000)
/lib/ld-linux.so.2 (0x00af2000)

ldd on Target System
linux-gate.so.1 => (0x00814000)
libc.so.6 => /lib/libc.so.6 (0x0054a000)
/lib/ld-linux.so.2 (0x0052d000)

Test case 1
Build test.c on Host system and run on both systems Host and Target.
on Host system ok
on Target System ok.

Test case 2
Build test.c on Target system and run on both systems Host and Target.
on Target System ok
on Host system error
error log
# ./test
Floating point exception

I have a feeling the problem is in the libraries.?
please guide me to resolve this problem.