Print this page
6375 Add native name demangling support
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/sgs/libconv/Makefile.com
          +++ new/usr/src/cmd/sgs/libconv/Makefile.com
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  
  22   22  #
  23   23  # Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.
       24 +# Copyright 2018, Joyent, Inc.
  24   25  #
  25   26  
  26   27  LIBRARY =       libconv.a
  27   28  
  28   29  COMOBJS32 =     cap_machelf32.o         dynamic_machelf32.o \
  29      -                globals_machelf32.o     sections_machelf32.o \
       30 +                globals_machelf32.o     sections_machelf32.o \
  30   31                  symbols_machelf32.o     symbols_sparc_machelf32.o
  31   32  
  32   33  COMOBJS64 =     cap_machelf64.o         dynamic_machelf64.o \
  33   34                  globals_machelf64.o     sections_machelf64.o \
  34   35                  symbols_machelf64.o     symbols_sparc_machelf64.o
  35   36  
  36   37  COMOBJS=        arch.o                  audit.o \
  37   38                  c_literal.o \
  38   39                  cap.o                   config.o \
  39      -                corenote.o              data.o \
  40      -                deftag.o                demangle.o \
       40 +                corenote.o              data.o \
       41 +                deftag.o                demangle.o \
  41   42                  dl.o                    dwarf.o \
  42      -                dwarf_ehe.o             dynamic.o \
       43 +                dwarf_ehe.o             dynamic.o \
  43   44                  elf.o                   entry.o \
  44   45                  globals.o               group.o \
  45      -                lddstub.o               map.o \
       46 +                lddstub.o               map.o \
  46   47                  phdr.o                  relocate.o \
  47      -                relocate_i386.o         relocate_amd64.o \
       48 +                relocate_i386.o         relocate_amd64.o \
  48   49                  relocate_sparc.o        sections.o \
  49      -                segments.o              strproc.o \
  50      -                symbols.o               syminfo.o \
  51      -                tokens.o                time.o \
       50 +                segments.o              strproc.o \
       51 +                symbols.o               syminfo.o \
       52 +                tokens.o                time.o \
  52   53                  version.o
  53   54  
  54   55  ELFCAP_OBJS=    elfcap.o
  55   56  
  56   57  ASOBJS=         vernote.o
  57   58  
  58   59  BLTOBJS=        arch_msg.o              audit_msg.o \
  59   60                  c_literal_msg.o \
  60   61                  cap_msg.o               config_msg.o \
  61   62                  corenote_msg.o          data_msg.o \
  62   63                  deftag_msg.o            demangle_msg.o \
  63   64                  dl_msg.o                dwarf_msg.o \
  64      -                dwarf_ehe_msg.o         dynamic_msg.o \
  65      -                elf_msg.o               entry_msg.o \
       65 +                dwarf_ehe_msg.o         dynamic_msg.o \
       66 +                elf_msg.o               entry_msg.o \
  66   67                  globals_msg.o           group_msg.o \
  67      -                map_msg.o               lddstub_msg.o \
  68      -                phdr_msg.o              relocate_amd64_msg.o \
       68 +                map_msg.o               lddstub_msg.o \
       69 +                phdr_msg.o              relocate_amd64_msg.o \
  69   70                  relocate_i386_msg.o     relocate_sparc_msg.o \
  70      -                sections_msg.o          segments_msg.o \
  71      -                symbols_msg.o           symbols_sparc_msg.o \
  72      -                syminfo_msg.o           time_msg.o \
       71 +                sections_msg.o          segments_msg.o \
       72 +                symbols_msg.o           symbols_sparc_msg.o \
       73 +                syminfo_msg.o           time_msg.o \
  73   74                  version_msg.o
  74   75  
  75   76  
  76   77  OBJECTS =       $(COMOBJS) $(COMOBJS32) $(COMOBJS64) $(ELFCAP_OBJS) \
  77   78                  $(ASOBJS) $(BLTOBJS)
  78   79  
  79   80  #
  80   81  # This library is unusual since it's a static archive of PIC objects.
  81   82  # Since static archives should never contain CTF data (regardless of
  82   83  # whether the object code is position-independent), we disable CTF.
  83   84  #
  84   85  NOCTFOBJS =     $(OBJECTS)
  85   86  CTFMERGE_LIB =  :
  86   87  
  87      -include         $(SRC)/lib/Makefile.lib
  88      -include         $(SRC)/cmd/sgs/Makefile.com
       88 +include $(SRC)/lib/Makefile.lib
       89 +include $(SRC)/cmd/sgs/Makefile.com
  89   90  
  90   91  CERRWARN        += -_gcc=-Wno-type-limits
  91   92  CERRWARN        += -_gcc=-Wno-switch
  92   93  
  93   94  CTFCONVERT_O=
  94   95  
  95   96  README_REVISION=../../packages/common/readme_revision
  96   97  ONLDREADME=     ../../packages/common/SUNWonld-README
  97   98  
  98   99  PICS=           $(OBJECTS:%=pics/%)
↓ open down ↓ 7 lines elided ↑ open up ↑
 106  107  
 107  108  BLTDATA=        $(BLTOBJS:%.o=%.c) $(BLTOBJS:%.o=%.h) report_bufsize.h
 108  109  
 109  110  SRCS=           ../common/llib-lconv
 110  111  LINTSRCS=       $(COMOBJS:%.o=../common/%.c) \
 111  112                      $(COMOBJS_NOMSG:%.o=../common/%.c) \
 112  113                      $(ELFCOM_OBJS:%.o=$(ELFCAP)/%.c) ../common/lintsup.c
 113  114  LINTSRCS32 =    $(COMOBJS32:%32.o=../common/%.c)
 114  115  LINTSRCS64 =    $(COMOBJS64:%64.o=../common/%.c)
 115  116  
      117 +# Since libconv uses dlopen(3C) to load libdemangle-sys.so (much like it did
      118 +# for the old Sun Studio libdemangle.so) in order to avoid messy bootstrapping
      119 +# problems, but it also needs the definitions from demangle-sys.h for
      120 +# SYSDEM_LANG_AUTO, lint will complain about sysdemangle() being defined but not
      121 +# used unless it is explicitly included during the lint pass
      122 +$(LINTOUT32)    := LDLIBS += -ldemangle-sys
      123 +$(LINTOUT64)    := LDLIBS += -ldemangle-sys
      124 +
 116  125  SGSMSGTARG=     $(BLTOBJS:%_msg.o=../common/%.msg)
 117  126  
 118  127  LINTFLAGS +=    -u
 119  128  LINTFLAGS64 +=  -u
 120  129  
 121  130  CLEANFILES +=   $(BLTDATA) $(LINTOUTS) bld_vernote vernote.s
 122  131  CLOBBERFILES += $(LINTLIBS)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX