MAJOR=4
MINOR=60
DEVNAME=tty60
  "   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿÂ885ÁÀ u    # SPDX-License-Identifier: GPL-2.0
#
# Makefile for the Linux Bluetooth subsystem.
#

obj-$(CONFIG_BT)	+= bluetooth.o
obj-$(CONFIG_BT_RFCOMM)	+= rfcomm/
obj-$(CONFIG_BT_BNEP)	+= bnep/
obj-$(CONFIG_BT_CMTP)	+= cmtp/
obj-$(CONFIG_BT_HIDP)	+= hidp/
obj-$(CONFIG_BT_6LOWPAN) += bluetooth_6lowpan.o

bluetooth_6lowpan-y := 6lowpan.o

bluetooth-y := af_bluetooth.o hci_core.o hci_conn.o hci_event.o mgmt.o \
	hci_sock.o hci_sysfs.o l2cap_core.o l2cap_sock.o smp.o lib.o \
	ecdh_helper.o mgmt_util.o mgmt_config.o hci_codec.o eir.o hci_sync.o \
	hci_drv.o

bluetooth-$(CONFIG_DEV_COREDUMP) += coredump.o

bluetooth-$(CONFIG_BT_BREDR) += sco.o
bluetooth-$(CONFIG_BT_LE) += iso.o
bluetooth-$(CONFIG_BT_LEDS) += leds.o
bluetooth-$(CONFIG_BT_MSFTEXT) += msft.o
bluetooth-$(CONFIG_BT_AOSPEXT) += aosp.o
bluetooth-$(CONFIG_BT_DEBUGFS) += hci_debugfs.o
bluetooth-$(CONFIG_BT_SELFTEST) += selftest.o
     ˆÃÂƒO³ÁÀ 	½    # SPDX-License-Identifier: GPL-2.0-only
# Copied from arch/tile/kernel/vdso/Makefile

# Include the generic Makefile to check the built vdso.
include $(srctree)/lib/vdso/Makefile
# Symbols present in the vdso
vdso-syms  = rt_sigreturn
ifdef CONFIG_64BIT
vdso-syms += vgettimeofday
endif
vdso-syms += getcpu
vdso-syms += flush_icache

# Files to link into the vdso
obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o

ccflags-y := -fno-stack-protector

ifneq ($(c-gettimeofday-y),)
  CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
endif

# Build rules
targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.lds vdso-syms.S
obj-vdso := $(addprefix $(obj)/, $(obj-vdso))

obj-y += vdso.o vdso-syms.o
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)

# Disable -pg to prevent insert call site
CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os

# Disable profiling and instrumentation for VDSO code
GCOV_PROFILE := n
KCOV_INSTRUMENT := n
KASAN_SANITIZE := n

# Force dependency
$(obj)/vdso.o: $(obj)/vdso.so

# link rule for the .so file, .lds has to be first
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
	$(call if_changed,vdsold)
LDFLAGS_vdso.so.dbg = -shared -s -soname=linux-vdso.so.1 \
	--build-id=sha1 --hash-style=both --eh-frame-hdr

# We also create a special relocatable object that should mirror the symbol
# table and layout of the linked DSO. With ld --just-symbols we can then
# refer to these symbols in the kernel code rather than hand-coded addresses.
$(obj)/vdso-syms.S: $(obj)/vdso.so FORCE
	$(call if_changed,so2s)

# strip rule for the .so file
$(obj)/%.so: OBJCOPYFLAGS := -S
$(obj)/%.so: $(obj)/%.so.dbg FORCE
	$(call if_changed,objcopy)

# actual build commands
# The DSO images are built using a special linker script
# Make sure only to export the intended __vdso_xxx symbol offsets.
quiet_cmd_vdsold = VDSOLD  $@
      cmd_vdsold = $(LD) $(ld_flags) -T $(filter-out FORCE,$^) -o $@.tmp && \
                   $(OBJCOPY) $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@ && \
                   rm $@.tmp

# Extracts symbol offsets from the VDSO, converting them into an assembly file
# that contains the same symbols at the same offsets.
quiet_cmd_so2s = SO2S    $@
      cmd_so2s = $(NM) -D $< | $(src)/so2s.sh > $@

# install commands for the unstripped file
quiet_cmd_vdso_install = INSTALL $@
      cmd_vdso_install = cp $(obj)/$@.dbg $(MODLIB)/vdso/$@

vdso.so: $(obj)/vdso.so.dbg
	@mkdir -p $(MODLIB)/vdso
	$(call cmd,vdso_install)

vdso_install: vdso.so
  0   	ˆl–ßi~”êh¥8 Eq–n61hßÃƒeÀ=_ŒuÐb&=Ly[Ï¿ÃÂ     	ý7zXZ  i"Þ6 !   t/å£à)“Ù] J
<4 …_Ñ™‹åüI;y”fÂ :ày^Ïßü‚cOZžd¼bíBÎâü×„éhJ5aÐîè©_½*/ˆw¢åëP¡gìSŠ¨ºE»�I=\á™àMhå£¹Ú±w~ÂÚ)±.º}7xãEG|¶®Øa™�B Ÿ~1`/‚aMª<Åä‘Ÿ&’ eÍPôRìŠ˜.m�†uØ³ƒ¨ÛI;•Lßo½ öv™ÄÚmsM©Cåž»w8.ã´�æ¸=Ô·¦¶Iß’w�‰=*®gÖåb³àÃüo,÷§íÀFvNJ`�Wš�ô^7(FgUuÅÜ`¯1ÒMxÆHLèínÞ6U¶˜¥æÒ?túTmwˆè4>39Àœ¸›vƒÜI‹9O;ß¸k·ˆÞžÏXÐ²Â)¿'£M„	Ð�“Šê€@7×Ò� !XŠÖ!§Õ¨öå_l…M–¬ ÀKM³|P@€ó‘Â•ï“æ†èy$­Öûd!>E^ð/ˆ«ºójõ8amÌ¬�Ém—Ýap€£Ñ“vXÐy§^JŠpnÏ`<ßw�
µÚBÌ„f_ñ^Ã5ÛlIš ™.êÑÖS	—�ØØœ_ŠLÍª/²îÕ¤°Šì mâ°­4õDÒNÜL€›C§{@Aoq‚“Ò)(ž¹z¥ÿp‰Ã[ 