Print this page
9852 enable ld(1) guidance and deflib assertions for the illumos build

Split Close
Expand all
Collapse all
          --- old/usr/src/common/mapfiles/gen/Makefile
          +++ new/usr/src/common/mapfiles/gen/Makefile
↓ open down ↓ 23 lines elided ↑ open up ↑
  24   24  # Use is subject to license terms.
  25   25  # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
  26   26  #
  27   27  
  28   28  include         $(SRC)/Makefile.master
  29   29  
  30   30  FILES=  \
  31   31                  $(MACH)_cc_map.noexeglobs \
  32   32                  $(MACH)_gcc_map.noexeglobs
  33   33  
       34 +NATIVE_LIBS =   libc.so
       35 +LDFLAGS +=      -B direct
       36 +
  34   37  $(BUILD64)FILES += \
  35   38                  $(MACH64)_cc_map.noexeglobs \
  36   39                  $(MACH64)_gcc_map.noexeglobs
  37   40  
  38   41  SYMS1=          syms.1
  39   42  SYMS2=          syms.2
  40   43  MAIN1=          main.1
  41   44  MAIN2=          main.2
  42   45  
  43   46  TEMPLATE1=      map.noexeglobs.1.template
↓ open down ↓ 27 lines elided ↑ open up ↑
  71   74  # mapfiles are not delivered into the $ROOT area, and therefore are not
  72   75  # delivered as packaged components of the OSNet.
  73   76  
  74   77  $(MACH)_cc_map.noexeglobs :=    LINK =  $(LINK.c)
  75   78  $(MACH64)_cc_map.noexeglobs :=  LINK =  $(LINK64.c)
  76   79  
  77   80  $(MACH)_gcc_map.noexeglobs :=   CC =    $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
  78   81  $(MACH)_gcc_map.noexeglobs :=   LINK =  $(LINK.c)
  79   82  $(MACH64)_gcc_map.noexeglobs := CC =    $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
  80   83  $(MACH64)_gcc_map.noexeglobs := LINK =  $(LINK64.c)
  81      - 
       84 +
  82   85  # This generic target creates two dynamic executables from an empty "main"
  83   86  # program.  These objects are not executed, but are analyzed to determine the
  84   87  # global symbols each provides.
  85   88  #
  86   89  # The first executable demotes a family of known interfaces to local and allows
  87   90  # all other symbol definitions to remain global.  This executables provides the
  88   91  # base for discovering all symbol definitions provided by the various
  89   92  # compilation environments.  The second executable demotes all symbols to
  90   93  # locals.  Within both executables, some symbols remain globals (_end, _etext,
  91   94  # etc.) as the link-editor has special knowledge of these symbols and their
↓ open down ↓ 20 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX