Print this page
9884 cw(1) should use -fpic rather than -Kpic


1113 CERRWARN += -_gcc=-Wno-address
1114 
1115 # Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...)
1116 # enables ASSERT() checking in the threads portion of the library.
1117 # This is automatically enabled for DEBUG builds, not for non-debug builds.
1118 THREAD_DEBUG =
1119 $(NOT_RELEASE_BUILD)THREAD_DEBUG = -DTHREAD_DEBUG
1120 
1121 # Make string literals read-only to save memory.
1122 CFLAGS += $(XSTRCONST)
1123 
1124 ALTPICS= $(TRACEOBJS:%=pics/%)
1125 
1126 $(DYNLIB) := BUILD.SO = $(LD) -o $@ -G $(DYNFLAGS) $(PICS) $(ALTPICS) $(EXTPICS)
1127 
1128 MAPFILES =      $(LIBCDIR)/port/mapfile-vers
1129 
1130 CFLAGS +=       $(EXTN_CFLAGS)
1131 CPPFLAGS=       -D_REENTRANT -Dsparc $(EXTN_CPPFLAGS) $(THREAD_DEBUG) \
1132                 -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc $(CPPFLAGS.master)
1133 ASFLAGS=        $(EXTN_ASFLAGS) -K pic -P -D__STDC__ -D_ASM $(CPPFLAGS) $(sparc_AS_XARCH)
1134 
1135 # As a favor to the dtrace syscall provider, libc still calls the
1136 # old syscall traps that have been obsoleted by the *at() interfaces.
1137 # Delete this to compile libc using only the new *at() system call traps
1138 CPPFLAGS += -D_RETAIN_OLD_SYSCALLS
1139 
1140 # Inform the run-time linker about libc specialized initialization
1141 RTLDINFO =      -z rtldinfo=tls_rtldinfo
1142 DYNFLAGS +=     $(RTLDINFO)
1143 
1144 # Force libc's internal references to be resolved immediately upon loading
1145 # in order to avoid critical region problems.  Since almost all libc symbols
1146 # are marked 'protected' in the mapfiles, this is a minimal set (15 to 20).
1147 DYNFLAGS +=     -znow
1148 
1149 DYNFLAGS +=     -e __rtboot
1150 DYNFLAGS +=     $(EXTN_DYNFLAGS)
1151 
1152 # Inform the kernel about the initial DTrace area (in case
1153 # libc is being used as the interpreter / runtime linker).


1365 $(QIL:%=pics/%): $(LIBCDIR)/$(MACH)/fp/__quad.il
1366 
1367 # include common libc targets
1368 include $(LIBCDIR)/Makefile.targ
1369 
1370 # We need to strip out all CTF and DOF data from the static library
1371 $(LIB_PIC) := DIR = pics
1372 $(LIB_PIC): pics $$(PICS)
1373         $(BUILD.AR)
1374         $(MCS) -d -n .SUNW_ctf $@ > /dev/null 2>&1
1375         $(MCS) -d -n .SUNW_dof $@ > /dev/null 2>&1
1376         $(AR) -ts $@ > /dev/null
1377         $(POST_PROCESS_A)
1378 
1379 # special cases
1380 $(STRETS:%=pics/%): $(LIBCBASE)/crt/stret.s
1381         $(AS) $(ASFLAGS) -DSTRET$(@F:stret%.o=%) $(LIBCBASE)/crt/stret.s -o $@
1382         $(POST_PROCESS_O)
1383 
1384 $(LIBCBASE)/crt/_rtbootld.s:    $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.c
1385         $(CC) $(CPPFLAGS) $(CTF_FLAGS) -O -S -K pic \
1386             $(LIBCBASE)/crt/_rtld.c -o $(LIBCBASE)/crt/_rtld.s
1387         $(CAT) $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.s > $@
1388         $(RM) $(LIBCBASE)/crt/_rtld.s
1389 
1390 # partially built from C source
1391 pics/_rtbootld.o: $(LIBCBASE)/crt/_rtbootld.s
1392         $(AS) $(ASFLAGS) $(LIBCBASE)/crt/_rtbootld.s -o $@
1393         $(CTFCONVERT_O)
1394 
1395 ASSYMDEP_OBJS=                  \
1396         _lwp_mutex_unlock.o     \
1397         _stack_grow.o           \
1398         asm_subr.o              \
1399         setjmp.o                \
1400         smt_pause.o             \
1401         tls_get_addr.o          \
1402         unwind_frame.o          \
1403         vforkx.o
1404 
1405 $(ASSYMDEP_OBJS:%=pics/%)       :=      CPPFLAGS += -I.




1113 CERRWARN += -_gcc=-Wno-address
1114 
1115 # Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...)
1116 # enables ASSERT() checking in the threads portion of the library.
1117 # This is automatically enabled for DEBUG builds, not for non-debug builds.
1118 THREAD_DEBUG =
1119 $(NOT_RELEASE_BUILD)THREAD_DEBUG = -DTHREAD_DEBUG
1120 
1121 # Make string literals read-only to save memory.
1122 CFLAGS += $(XSTRCONST)
1123 
1124 ALTPICS= $(TRACEOBJS:%=pics/%)
1125 
1126 $(DYNLIB) := BUILD.SO = $(LD) -o $@ -G $(DYNFLAGS) $(PICS) $(ALTPICS) $(EXTPICS)
1127 
1128 MAPFILES =      $(LIBCDIR)/port/mapfile-vers
1129 
1130 CFLAGS +=       $(EXTN_CFLAGS)
1131 CPPFLAGS=       -D_REENTRANT -Dsparc $(EXTN_CPPFLAGS) $(THREAD_DEBUG) \
1132                 -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc $(CPPFLAGS.master)
1133 ASFLAGS=        $(EXTN_ASFLAGS) $(AS_PICFLAGS) -P -D__STDC__ -D_ASM $(CPPFLAGS) $(sparc_AS_XARCH)
1134 
1135 # As a favor to the dtrace syscall provider, libc still calls the
1136 # old syscall traps that have been obsoleted by the *at() interfaces.
1137 # Delete this to compile libc using only the new *at() system call traps
1138 CPPFLAGS += -D_RETAIN_OLD_SYSCALLS
1139 
1140 # Inform the run-time linker about libc specialized initialization
1141 RTLDINFO =      -z rtldinfo=tls_rtldinfo
1142 DYNFLAGS +=     $(RTLDINFO)
1143 
1144 # Force libc's internal references to be resolved immediately upon loading
1145 # in order to avoid critical region problems.  Since almost all libc symbols
1146 # are marked 'protected' in the mapfiles, this is a minimal set (15 to 20).
1147 DYNFLAGS +=     -znow
1148 
1149 DYNFLAGS +=     -e __rtboot
1150 DYNFLAGS +=     $(EXTN_DYNFLAGS)
1151 
1152 # Inform the kernel about the initial DTrace area (in case
1153 # libc is being used as the interpreter / runtime linker).


1365 $(QIL:%=pics/%): $(LIBCDIR)/$(MACH)/fp/__quad.il
1366 
1367 # include common libc targets
1368 include $(LIBCDIR)/Makefile.targ
1369 
1370 # We need to strip out all CTF and DOF data from the static library
1371 $(LIB_PIC) := DIR = pics
1372 $(LIB_PIC): pics $$(PICS)
1373         $(BUILD.AR)
1374         $(MCS) -d -n .SUNW_ctf $@ > /dev/null 2>&1
1375         $(MCS) -d -n .SUNW_dof $@ > /dev/null 2>&1
1376         $(AR) -ts $@ > /dev/null
1377         $(POST_PROCESS_A)
1378 
1379 # special cases
1380 $(STRETS:%=pics/%): $(LIBCBASE)/crt/stret.s
1381         $(AS) $(ASFLAGS) -DSTRET$(@F:stret%.o=%) $(LIBCBASE)/crt/stret.s -o $@
1382         $(POST_PROCESS_O)
1383 
1384 $(LIBCBASE)/crt/_rtbootld.s:    $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.c
1385         $(CC) $(CPPFLAGS) $(CTF_FLAGS) -O -S $(C_PICFLAGS) \
1386             $(LIBCBASE)/crt/_rtld.c -o $(LIBCBASE)/crt/_rtld.s
1387         $(CAT) $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.s > $@
1388         $(RM) $(LIBCBASE)/crt/_rtld.s
1389 
1390 # partially built from C source
1391 pics/_rtbootld.o: $(LIBCBASE)/crt/_rtbootld.s
1392         $(AS) $(ASFLAGS) $(LIBCBASE)/crt/_rtbootld.s -o $@
1393         $(CTFCONVERT_O)
1394 
1395 ASSYMDEP_OBJS=                  \
1396         _lwp_mutex_unlock.o     \
1397         _stack_grow.o           \
1398         asm_subr.o              \
1399         setjmp.o                \
1400         smt_pause.o             \
1401         tls_get_addr.o          \
1402         unwind_frame.o          \
1403         vforkx.o
1404 
1405 $(ASSYMDEP_OBJS:%=pics/%)       :=      CPPFLAGS += -I.