Keith Roberts, Thank you for your suggestion about doing a grep of the
source code. We found mmap.S in ../sysdeps/unix/sysv/linux/i386. We looked in
mmap.S and found a lot of assembly code. Could you please tell us if any of the
assembly code call the kernel syscall handler for mmap.s?
Also, we ran make for the kernel Makefile and we obtained the following
result shown below. Could you please suggest us how to fix the kernel
Makeconfig so that it skips over libc_pic.os? Thank you for your help.
gcc -shared -static-libgcc -Wl,-O1 -Wl,-z,defs -Wl,
-dynamic-linker=/home/frankc/DQT1/glibc-2.9/lib/ld-linux.so.2
-B/home/frankc/DQTTest5/csu/ -Wl,
--version-script=/home/frankc/DQTTest5/libc.map
-Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both
-nostdlib -nostartfiles -e __libc_main
-L/home/frankc/DQTTest5 -L/home/frankc/DQTTest5/math
-L/home/frankc/DQTTest5/elf -L/home/frankc/DQTTest5/dlfcn
-L/home/frankc/DQTTest5/nss
-L/home/frankc/DQTTest5/nis -L/home/frankc/DQTTest5/rt
-L/home/frankc/DQTTest5/resolv
-L/home/frankc/DQTTest5/crypt -L/home/frankc/DQTTest5/nptl -Wl,
-rpath-link=/home/frankc/DQTTest5:/home/frankc/DQTTest5/math:/home/frankc/DQTTest5/elf:
/home/frankc/DQTTest5/dlfcn:/home/frankc/DQTTest5/nss:/home/frankc/DQTTest5/nis:
/home/frankc/DQTTest5/rt:/home/frankc/DQTTest5/resolv:/home/frankc/DQTTest5/crypt:
/home/frankc/DQTTest5/nptl -o /home/frankc/DQTTest5/libc.so
-T /home/frankc/DQTTest5/shlib.lds /home/frankc/DQTTest5/csu/abi-note.o
/home/frankc/DQTTest5/elf/soinit.os /home/frankc/DQTTest5/libc_pic.os /
home/frankc/DQTTest5/elf/sofini.os /home/frankc/DQTTest5/elf/interp.os
/home/frankc/DQTTest5/elf/ld.so -lgcc
/home/frankc/DQTTest5/libc_pic.os: In function `__libc_fork':
/home/frankc/DQT1/glibc-2.9/posix/../nptl/sysdeps/unix/sysv/linux/i386/../fork.c:79:
undefined reference to `__sync_bool_compare_and_swap_4'
/home/frankc/DQTTest5/
gcc -shared -static-libgcc -Wl,-O1 -Wl,-z,defs -Wl,
-dynamic-linker=/home/frankc/DQT1/glibc-2.9/lib/ld-linux.so.2
-B/home/frankc/DQTTest5/csu/ -Wl,
--version-script=/home/frankc/DQTTest5/libc.map
-Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both
-nostdlib -nostartfiles -e __libc_main
-L/home/frankc/DQTTest5 -L/home/frankc/DQTTest5/math
-L/home/frankc/DQTTest5/elf -L/home/frankc/DQTTest5/dlfcn
-L/home/frankc/DQTTest5/nss
-L/home/frankc/DQTTest5/nis -L/home/frankc/DQTTest5/rt
-L/home/frankc/DQTTest5/resolv
-L/home/frankc/DQTTest5/crypt -L/home/frankc/DQTTest5/nptl -Wl,
-rpath-link=/home/frankc/DQTTest5:/home/frankc/DQTTest5/math:/home/frankc/DQTTest5/elf:
/home/frankc/DQTTest5/dlfcn:/home/frankc/DQTTest5/nss:/home/frankc/DQTTest5/nis:
/home/frankc/DQTTest5/rt:/home/frankc/DQTTest5/resolv:/home/frankc/DQTTest5/crypt:
/home/frankc/DQTTest5/nptl -o /home/frankc/DQTTest5/libc.so
-T /home/frankc/DQTTest5/shlib.lds /home/frankc/DQTTest5/csu/abi-note.o
/home/frankc/DQTTest5/elf/soinit.os /home/frankc/DQTTest5/libc_pic.os /
home/frankc/DQTTest5/elf/sofini.os /home/frankc/DQTTest5/elf/interp.os
/home/frankc/DQTTest5/elf/ld.so -lgcc
/home/frankc/DQTTest5/libc_pic.os: In function `__libc_fork':
/home/frankc/DQT1/glibc-2.9/posix/../nptl/sysdeps/unix/sysv/linux/i386/../fork.c:79:
undefined reference to `__sync_bool_compare_and_swap_4'
/home/frankc/DQTTest5/libc_pic.os: In function `__nscd_drop_map_ref':
/home/frankc/DQT1/glibc-2.9/nscd/nscd-client.h:320: undefined reference to
`__sync_fetch_and_add_4'
/home/frankc/DQTTest5/libc_pic.os: In function `nscd_getpw_r':
/home/frankc/DQT1/glibc-2.9/nscd/nscd_getpw_r.c:232: undefined reference to
`__sync_fetch_and_add_4'
/home/frankc/DQTTest5/libc_pic.os: In function `__nscd_drop_map_ref':
/home/frankc/DQT1/glibc-2.9/nscd/nscd-client.h:320: undefined reference to
`__sync_fetch_and_add_4'
/home/frankc/DQTTest5/libc_pic.os: In function `nscd_getgr_r':
/home/frankc/DQT1/glibc-2.9/nscd/nscd_getgr_r.c:321: undefined reference to
`__sync_fetch_and_add_4'
/home/frankc/DQTTest5/libc_pic.os: In function `__nscd_drop_map_ref':
/home/frankc/DQT1/glibc-2.9/nscd/nscd-client.h:320: undefined reference to
`__sync_fetch_and_add_4'
/home/frankc/DQTTest5/libc_pic.os:/home/frankc/DQT1/glibc-2.9/nscd/nscd_gethst_r.c:400:
more undefined references to `__sync_fetch_and_add_4' follow
/home/frankc/DQTTest5/libc_pic.os: In function `__nscd_get_map_ref':
/home/frankc/DQT1/glibc-2.9/nscd/nscd_helper.c:431: undefined reference to
`__sync_val_compare_and_swap_4'
/home/frankc/DQTTest5/libc_pic.os: In function `*__GI___libc_freeres':
/home/frankc/DQT1/glibc-2.9/malloc/set-freeres.c:39: undefined reference to
`__sync_bool_compare_and_swap_4'
collect2: ld returned 1 exit status
: In function `__nscd_drop_map_ref':
/home/frankc/DQT1/glibc-2.9/nscd/nscd-client.h:320: undefined reference to
`__sync_fetch_and_add_4'
/home/frankc/DQTTest5/libc_pic.os: In function `nscd_getpw_r':
/home/frankc/DQT1/glibc-2.9/nscd/nscd_getpw_r.c:232: undefined reference to
`__sync_fetch_and_add_4'
/home/