This file is indexed.

/usr/src/gcc-6/debian/rules.sonames is in gcc-6-source 6.4.0-17ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
ifneq ($(vafilt_defined),1)
  $(error rules.defs must be included before rules.sonames)
endif

ifeq (,$(wildcard debian/soname-cache))
  SONAME_VARS := $(shell \
	cache=debian/soname-cache; \
	rm -f $$cache; \
	v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libstdc++-v3/acinclude.m4`; \
	echo CXX_SONAME=$$v >> $$cache; \
	v=`awk -F= '/^VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libobjc/configure.ac`; \
	echo OBJC_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libgfortran/libtool-version | cut -d: -f1`; \
	echo FORTRAN_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libssp/libtool-version | cut -d: -f1`; \
	echo SSP_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libjava/libtool-version | cut -d: -f1`; \
	echo GCJ_SONAME=$$v >> $$cache; \
	if [ "$$v" -ge 70 ]; then \
	  echo GCJ_SONAME1=`echo $$v | sed 's/.$$//'` >> $$cache; \
	  echo GCJ_SONAME2=`echo $$v | sed 's/.*\(.\)$$/\1/'` >> $$cache; \
	else \
	  echo GCJ_SONAME1=$$v >> $$cache; \
	  echo GCJ_SONAME2= >> $$cache; \
	fi; \
	v=`tail -1 $(srcdir)/libffi/libtool-version | cut -d: -f1`; \
	echo FFI_SONAME=$$v >> $$cache; \
	v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libgomp/configure.ac`; \
	echo GOMP_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libsanitizer/asan/libtool-version | cut -d: -f1`; \
	echo ASAN_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libsanitizer/lsan/libtool-version | cut -d: -f1`; \
	echo LSAN_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libsanitizer/tsan/libtool-version | cut -d: -f1`; \
	echo TSAN_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libsanitizer/ubsan/libtool-version | cut -d: -f1`; \
	echo UBSAN_SONAME=$$v >> $$cache; \
	v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libatomic/configure.ac`; \
        v=1; \
	echo ATOMIC_SONAME=$$v >> $$cache; \
	v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libbacktrace/configure.ac`; \
	echo BTRACE_SONAME=$$v >> $$cache; \
	v=`tail -1 $(srcdir)/libquadmath/libtool-version | cut -d: -f1`; \
	  echo QUADMATH_SONAME=$$v >> $$cache; \
	v=`grep '[^_]Library_Version.*:' $(srcdir)/gcc/ada/gnatvsn.ads \
		| sed -e 's/.*"\([^"]*\)".*/\1/'`; \
	echo GNAT_SONAME=$$v >> $$cache; \
	v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libgo/configure.ac`; \
	echo GO_SONAME=$$v >> $$cache; \
	echo ITM_SONAME=1 >> $$cache; \
	v=`awk -F= '/^libtool_VERSION/ {split($$2,v,":"); print v[1]}' \
		$(srcdir)/libvtv/configure.ac`; \
	v=0; \
	echo VTV_SONAME=$$v >> $$cache; \
	echo CILKRTS_SONAME=5 >> $$cache; \
	echo CC1_SONAME=0 >> $$cache; \
	echo GCCJIT_SONAME=0 >> $$cache; \
	v=`tail -1 $(srcdir)/libmpx/mpxrt/libtool-version | cut -d: -f1`; \
	echo MPX_SONAME=$$v >> $$cache; \
	echo GPHOBOS_SONAME=68 >> $$cache; \
	echo GDRUNTIME_SONAME=68 >> $$cache; \
	cat $$cache)
else
  SONAME_VARS := $(shell cat debian/soname-cache)
endif
CXX_SONAME	= $(call vafilt,$(SONAME_VARS),CXX_SONAME)
OBJC_SONAME	= $(call vafilt,$(SONAME_VARS),OBJC_SONAME)
FORTRAN_SONAME	= $(call vafilt,$(SONAME_VARS),FORTRAN_SONAME)
SSP_SONAME	= $(call vafilt,$(SONAME_VARS),SSP_SONAME)
GCJ_SONAME	= $(call vafilt,$(SONAME_VARS),GCJ_SONAME)
GCJ_SONAME1	= $(call vafilt,$(SONAME_VARS),GCJ_SONAME1)
GCJ_SONAME2	= $(call vafilt,$(SONAME_VARS),GCJ_SONAME2)
FFI_SONAME	= $(call vafilt,$(SONAME_VARS),FFI_SONAME)
GOMP_SONAME	= $(call vafilt,$(SONAME_VARS),GOMP_SONAME)
ATOMIC_SONAME	= $(call vafilt,$(SONAME_VARS),ATOMIC_SONAME)
BTRACE_SONAME	= $(call vafilt,$(SONAME_VARS),BTRACE_SONAME)
ASAN_SONAME	= $(call vafilt,$(SONAME_VARS),ASAN_SONAME)
LSAN_SONAME	= $(call vafilt,$(SONAME_VARS),LSAN_SONAME)
TSAN_SONAME	= $(call vafilt,$(SONAME_VARS),TSAN_SONAME)
UBSAN_SONAME	= $(call vafilt,$(SONAME_VARS),UBSAN_SONAME)
VTV_SONAME	= $(call vafilt,$(SONAME_VARS),VTV_SONAME)
CILKRTS_SONAME	= $(call vafilt,$(SONAME_VARS),CILKRTS_SONAME)
QUADMATH_SONAME	= $(call vafilt,$(SONAME_VARS),QUADMATH_SONAME)
GNAT_SONAME	= $(call vafilt,$(SONAME_VARS),GNAT_SONAME)
GO_SONAME	= $(call vafilt,$(SONAME_VARS),GO_SONAME)
ITM_SONAME	= $(call vafilt,$(SONAME_VARS),ITM_SONAME)
CC1_SONAME	= $(call vafilt,$(SONAME_VARS),CC1_SONAME)
GCCJIT_SONAME	= $(call vafilt,$(SONAME_VARS),GCCJIT_SONAME)
MPX_SONAME	= $(call vafilt,$(SONAME_VARS),MPX_SONAME)
GPHOBOS_SONAME	= $(call vafilt,$(SONAME_VARS),GPHOBOS_SONAME)
GDRUNTIME_SONAME= $(call vafilt,$(SONAME_VARS),GDRUNTIME_SONAME)

# alias
GFORTRAN_SONAME = $(FORTRAN_SONAME)
STDC++_SONAME = $(CXX_SONAME)