Thanks so much for your help! I finally succeed to build glibc-2.5. I would like to write below several problems I met.
I met one error in inet/inet_ntoa.c: undefined reference to `___tls_get_addr'. Seems that it is because TLS is disabled. I simply overrode file inet_ntoa.c with a previous version that does not use TLS to solve the problem.
At last, the building process stopped at malloc/memusage.c with many errors like:
> memusage.c:74 error: expected '=' ... before calls
and Line 74 of memusage is:
> static memusage_cntr_t calls[idx_last];
However, since libc.so was already produced here, I have not tried much to correct this error.
> sysdeps/generic/rtld-lowlevel.h:1:2: error: #error "Lowlevel primitives for ld.so not implemented"
> include/link.h:224: error: expected specifier-qualifier-list before '__rtld_mrlock_define'
It seems a bug but I failed to find any patch on it.