Print this page
8609 want a position independent CRT

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libc/i386/Makefile.com
          +++ new/usr/src/lib/libc/i386/Makefile.com
↓ open down ↓ 1025 lines elided ↑ open up ↑
1026 1026          $(COMSYSOBJS)           \
1027 1027          $(SYSOBJS)              \
1028 1028          $(COMSYSOBJS64)         \
1029 1029          $(SYSOBJS64)            \
1030 1030          $(VALUES)
1031 1031  
1032 1032  TRACEOBJS=                      \
1033 1033          plockstat.o
1034 1034  
1035 1035  # NOTE: libc.so.1 must be linked with the minimal crti.o and crtn.o
1036      -# modules whose source is provided in the $(SRC)/lib/common directory.
     1036 +# modules whose source is provided in the $(SRC)/lib/crt directory.
1037 1037  # This must be done because otherwise the Sun C compiler would insert
1038 1038  # its own versions of these modules and those versions contain code
1039 1039  # to call out to C++ initialization functions.  Such C++ initialization
1040 1040  # functions can call back into libc before thread initialization is
1041 1041  # complete and this leads to segmentation violations and other problems.
1042 1042  # Since libc contains no C++ code, linking with the minimal crti.o and
1043 1043  # crtn.o modules is safe and avoids the problems described above.
1044 1044  OBJECTS= $(CRTI) $(MOSTOBJS) $(CRTN)
1045      -CRTSRCS= ../../common/i386
     1045 +CRTSRCS= ../../crt/i86
1046 1046  
1047 1047  LDPASS_OFF=     $(POUND_SIGN)
1048 1048  
1049 1049  # include common library definitions
1050 1050  include ../../Makefile.lib
1051 1051  
1052 1052  # we need to override the default SONAME here because we might
1053 1053  # be building a variant object (still libc.so.1, but different filename)
1054 1054  SONAME = libc.so.1
1055 1055  
↓ open down ↓ 293 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX