From 04c7248d09ffa4f282fa6898bfebe00930613291 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 13 Nov 2017 13:17:45 +0900 Subject: [PATCH] second commit --- 01_day/.module_1.ko.cmd | 1 + 01_day/.module_1.mod.o.cmd | 579 ++++++++++++++++++++++++++++ 01_day/.module_1.o.cmd | 605 ++++++++++++++++++++++++++++++ 01_day/.module_2.ko.cmd | 1 + 01_day/.module_2.mod.o.cmd | 579 ++++++++++++++++++++++++++++ 01_day/.module_2.o.cmd | 605 ++++++++++++++++++++++++++++++ 01_day/.tmp_versions/module_2.mod | 2 + 01_day/Makefile | 4 + 01_day/Module.symvers | 0 01_day/module_1.c | 17 + 01_day/module_1.ko | Bin 0 -> 112800 bytes 01_day/module_1.mod.c | 21 ++ 01_day/module_1.mod.o | Bin 0 -> 64304 bytes 01_day/module_1.o | Bin 0 -> 49936 bytes 01_day/module_2.c | 19 + 01_day/module_2.ko | Bin 0 -> 119632 bytes 01_day/module_2.mod.c | 21 ++ 01_day/module_2.mod.o | Bin 0 -> 64304 bytes 01_day/module_2.o | Bin 0 -> 56864 bytes 01_day/modules.order | 1 + 20 files changed, 2455 insertions(+) create mode 100644 01_day/.module_1.ko.cmd create mode 100644 01_day/.module_1.mod.o.cmd create mode 100644 01_day/.module_1.o.cmd create mode 100644 01_day/.module_2.ko.cmd create mode 100644 01_day/.module_2.mod.o.cmd create mode 100644 01_day/.module_2.o.cmd create mode 100644 01_day/.tmp_versions/module_2.mod create mode 100644 01_day/Makefile create mode 100644 01_day/Module.symvers create mode 100644 01_day/module_1.c create mode 100644 01_day/module_1.ko create mode 100644 01_day/module_1.mod.c create mode 100644 01_day/module_1.mod.o create mode 100644 01_day/module_1.o create mode 100644 01_day/module_2.c create mode 100644 01_day/module_2.ko create mode 100644 01_day/module_2.mod.c create mode 100644 01_day/module_2.mod.o create mode 100644 01_day/module_2.o create mode 100644 01_day/modules.order diff --git a/01_day/.module_1.ko.cmd b/01_day/.module_1.ko.cmd new file mode 100644 index 0000000..fe0d081 --- /dev/null +++ b/01_day/.module_1.ko.cmd @@ -0,0 +1 @@ +cmd_/root/android/my_test/01_day/module_1.ko := aarch64-linux-android-ld -EL -r -T /root/tegra/scripts/module-common.lds --build-id -o /root/android/my_test/01_day/module_1.ko /root/android/my_test/01_day/module_1.o /root/android/my_test/01_day/module_1.mod.o diff --git a/01_day/.module_1.mod.o.cmd b/01_day/.module_1.mod.o.cmd new file mode 100644 index 0000000..5883e0e --- /dev/null +++ b/01_day/.module_1.mod.o.cmd @@ -0,0 +1,579 @@ +cmd_/root/android/my_test/01_day/module_1.mod.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.module_1.mod.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(module_1.mod)" -D"KBUILD_MODNAME=KBUILD_STR(module_1)" -DMODULE -c -o /root/android/my_test/01_day/module_1.mod.o /root/android/my_test/01_day/module_1.mod.c + +source_/root/android/my_test/01_day/module_1.mod.o := /root/android/my_test/01_day/module_1.mod.c + +deps_/root/android/my_test/01_day/module_1.mod.o := \ + $(wildcard include/config/module/unload.h) \ + include/linux/module.h \ + $(wildcard include/config/sysfs.h) \ + $(wildcard include/config/modules.h) \ + $(wildcard include/config/unused/symbols.h) \ + $(wildcard include/config/module/sig.h) \ + $(wildcard include/config/generic/bug.h) \ + $(wildcard include/config/kallsyms.h) \ + $(wildcard include/config/smp.h) \ + $(wildcard include/config/tracepoints.h) \ + $(wildcard include/config/tracing.h) \ + $(wildcard include/config/event/tracing.h) \ + $(wildcard include/config/ftrace/mcount/record.h) \ + $(wildcard include/config/constructors.h) \ + $(wildcard include/config/debug/set/module/ronx.h) \ + include/linux/list.h \ + $(wildcard include/config/debug/list.h) \ + include/linux/types.h \ + $(wildcard include/config/have/uid16.h) \ + $(wildcard include/config/uid16.h) \ + $(wildcard include/config/lbdaf.h) \ + $(wildcard include/config/arch/dma/addr/t/64bit.h) \ + $(wildcard include/config/phys/addr/t/64bit.h) \ + $(wildcard include/config/64bit.h) \ + include/uapi/linux/types.h \ + arch/arm64/include/generated/asm/types.h \ + /root/tegra/include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + /root/tegra/arch/arm64/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + /root/tegra/include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler.h \ + $(wildcard include/config/sparse/rcu/pointer.h) \ + $(wildcard include/config/trace/branch/profiling.h) \ + $(wildcard include/config/profile/all/branches.h) \ + $(wildcard include/config/enable/must/check.h) \ + $(wildcard include/config/enable/warn/deprecated.h) \ + $(wildcard include/config/kprobes.h) \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/arch/supports/optimized/inlining.h) \ + $(wildcard include/config/optimize/inlining.h) \ + $(wildcard include/config/gcov/kernel.h) \ + $(wildcard include/config/arch/use/builtin/bswap.h) \ + arch/arm64/include/generated/asm/posix_types.h \ + /root/tegra/include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/illegal/pointer/value.h) \ + /root/tegra/include/uapi/linux/const.h \ + include/linux/stat.h \ + /root/tegra/arch/arm64/include/asm/stat.h \ + $(wildcard include/config/compat.h) \ + /root/tegra/arch/arm64/include/uapi/asm/stat.h \ + /root/tegra/include/uapi/asm-generic/stat.h \ + /root/tegra/arch/arm64/include/asm/compat.h \ + include/linux/sched.h \ + $(wildcard include/config/sched/debug.h) \ + $(wildcard include/config/prove/rcu.h) \ + $(wildcard include/config/no/hz/common.h) \ + $(wildcard include/config/lockup/detector.h) \ + $(wildcard include/config/mmu.h) \ + $(wildcard include/config/core/dump/default/elf/headers.h) \ + $(wildcard include/config/sched/autogroup.h) \ + $(wildcard include/config/virt/cpu/accounting/native.h) \ + $(wildcard include/config/bsd/process/acct.h) \ + $(wildcard include/config/taskstats.h) \ + $(wildcard include/config/audit.h) \ + $(wildcard include/config/cgroups.h) \ + $(wildcard include/config/inotify/user.h) \ + $(wildcard include/config/fanotify.h) \ + $(wildcard include/config/epoll.h) \ + $(wildcard include/config/posix/mqueue.h) \ + $(wildcard include/config/keys.h) \ + $(wildcard include/config/perf/events.h) \ + $(wildcard include/config/schedstats.h) \ + $(wildcard include/config/task/delay/acct.h) \ + $(wildcard include/config/fair/group/sched.h) \ + $(wildcard include/config/rt/group/sched.h) \ + $(wildcard include/config/cgroup/sched.h) \ + $(wildcard include/config/preempt/notifiers.h) \ + $(wildcard include/config/blk/dev/io/trace.h) \ + $(wildcard include/config/preempt/rcu.h) \ + $(wildcard include/config/tree/preempt/rcu.h) \ + $(wildcard include/config/rcu/boost.h) \ + $(wildcard include/config/compat/brk.h) \ + $(wildcard include/config/cc/stackprotector.h) \ + $(wildcard include/config/virt/cpu/accounting/gen.h) \ + $(wildcard include/config/sysvipc.h) \ + $(wildcard include/config/detect/hung/task.h) \ + $(wildcard include/config/auditsyscall.h) \ + $(wildcard include/config/rt/mutexes.h) \ + $(wildcard include/config/debug/mutexes.h) \ + $(wildcard include/config/trace/irqflags.h) \ + $(wildcard include/config/lockdep.h) \ + $(wildcard include/config/block.h) \ + $(wildcard include/config/task/xacct.h) \ + $(wildcard include/config/cpusets.h) \ + $(wildcard include/config/futex.h) \ + $(wildcard include/config/numa.h) \ + $(wildcard include/config/numa/balancing.h) \ + $(wildcard include/config/fault/injection.h) \ + $(wildcard include/config/latencytop.h) \ + $(wildcard include/config/function/graph/tracer.h) \ + $(wildcard include/config/memcg.h) \ + $(wildcard include/config/have/hw/breakpoint.h) \ + $(wildcard include/config/uprobes.h) \ + $(wildcard include/config/bcache.h) \ + $(wildcard include/config/cpumask/offstack.h) \ + $(wildcard include/config/have/unstable/sched/clock.h) \ + $(wildcard include/config/irq/time/accounting.h) \ + $(wildcard include/config/hotplug/cpu.h) \ + $(wildcard include/config/no/hz/full.h) \ + $(wildcard include/config/proc/fs.h) \ + $(wildcard include/config/stack/growsup.h) \ + $(wildcard include/config/debug/stack/usage.h) \ + $(wildcard include/config/preempt/count.h) \ + $(wildcard include/config/preempt.h) \ + $(wildcard include/config/mm/owner.h) \ + include/uapi/linux/sched.h \ + /root/tegra/arch/arm64/include/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/hz.h) \ + include/uapi/asm-generic/param.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/threads.h \ + $(wildcard include/config/nr/cpus.h) \ + $(wildcard include/config/base/small.h) \ + include/linux/kernel.h \ + $(wildcard include/config/preempt/voluntary.h) \ + $(wildcard include/config/debug/atomic/sleep.h) \ + $(wildcard include/config/prove/locking.h) \ + $(wildcard include/config/ring/buffer.h) \ + /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9/include/stdarg.h \ + include/linux/linkage.h \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/have/underscore/symbol/prefix.h) \ + $(wildcard include/config/modversions.h) \ + /root/tegra/arch/arm64/include/asm/linkage.h \ + include/linux/bitops.h \ + /root/tegra/arch/arm64/include/asm/bitops.h \ + /root/tegra/arch/arm64/include/asm/barrier.h \ + include/asm-generic/bitops/builtin-__ffs.h \ + include/asm-generic/bitops/builtin-ffs.h \ + include/asm-generic/bitops/builtin-__fls.h \ + include/asm-generic/bitops/builtin-fls.h \ + include/asm-generic/bitops/ffz.h \ + include/asm-generic/bitops/fls64.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/generic/find/first/bit.h) \ + include/asm-generic/bitops/sched.h \ + include/asm-generic/bitops/hweight.h \ + include/asm-generic/bitops/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/lock.h \ + include/asm-generic/bitops/non-atomic.h \ + include/asm-generic/bitops/le.h \ + /root/tegra/arch/arm64/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/arm64/include/generated/asm/swab.h \ + /root/tegra/include/uapi/asm-generic/swab.h \ + include/linux/byteorder/generic.h \ + include/linux/log2.h \ + $(wildcard include/config/arch/has/ilog2/u32.h) \ + $(wildcard include/config/arch/has/ilog2/u64.h) \ + include/linux/typecheck.h \ + include/linux/printk.h \ + $(wildcard include/config/early/printk.h) \ + $(wildcard include/config/printk.h) \ + $(wildcard include/config/dynamic/debug.h) \ + include/linux/init.h \ + $(wildcard include/config/broken/rodata.h) \ + include/linux/kern_levels.h \ + include/linux/dynamic_debug.h \ + include/uapi/linux/kernel.h \ + /root/tegra/include/uapi/linux/sysinfo.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + include/linux/time.h \ + $(wildcard include/config/arch/uses/gettimeoffset.h) \ + include/linux/cache.h \ + $(wildcard include/config/arch/has/cache/line/size.h) \ + /root/tegra/arch/arm64/include/asm/cache.h \ + include/linux/seqlock.h \ + include/linux/spinlock.h \ + $(wildcard include/config/debug/spinlock.h) \ + $(wildcard include/config/generic/lockbreak.h) \ + $(wildcard include/config/debug/lock/alloc.h) \ + include/linux/preempt.h \ + $(wildcard include/config/debug/preempt.h) \ + $(wildcard include/config/preempt/tracer.h) \ + $(wildcard include/config/context/tracking.h) \ + arch/arm64/include/generated/asm/preempt.h \ + include/asm-generic/preempt.h \ + include/linux/thread_info.h \ + include/linux/bug.h \ + arch/arm64/include/generated/asm/bug.h \ + include/asm-generic/bug.h \ + $(wildcard include/config/bug.h) \ + $(wildcard include/config/generic/bug/relative/pointers.h) \ + $(wildcard include/config/debug/bugverbose.h) \ + /root/tegra/arch/arm64/include/asm/relaxed.h \ + /root/tegra/arch/arm64/include/asm/atomic.h \ + /root/tegra/arch/arm64/include/asm/cmpxchg.h \ + include/asm-generic/relaxed.h \ + /root/tegra/arch/arm64/include/asm/thread_info.h \ + $(wildcard include/config/arm64/64k/pages.h) \ + include/linux/irqflags.h \ + $(wildcard include/config/irqsoff/tracer.h) \ + $(wildcard include/config/trace/irqflags/support.h) \ + /root/tegra/arch/arm64/include/asm/irqflags.h \ + /root/tegra/arch/arm64/include/asm/ptrace.h \ + /root/tegra/arch/arm64/include/uapi/asm/ptrace.h \ + /root/tegra/arch/arm64/include/asm/hwcap.h \ + /root/tegra/arch/arm64/include/uapi/asm/hwcap.h \ + include/linux/bottom_half.h \ + include/linux/spinlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock_types.h \ + $(wildcard include/config/arm64/simple/spinlock.h) \ + include/linux/lockdep.h \ + $(wildcard include/config/lock/stat.h) \ + include/linux/rwlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock.h \ + /root/tegra/arch/arm64/include/asm/processor.h \ + include/linux/string.h \ + $(wildcard include/config/binary/printf.h) \ + include/uapi/linux/string.h \ + /root/tegra/arch/arm64/include/asm/string.h \ + /root/tegra/arch/arm64/include/asm/fpsimd.h \ + /root/tegra/arch/arm64/include/asm/hw_breakpoint.h \ + include/asm-generic/processor.h \ + include/linux/rwlock.h \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/inline/spin/lock.h) \ + $(wildcard include/config/inline/spin/lock/bh.h) \ + $(wildcard include/config/inline/spin/lock/irq.h) \ + $(wildcard include/config/inline/spin/lock/irqsave.h) \ + $(wildcard include/config/inline/spin/trylock.h) \ + $(wildcard include/config/inline/spin/trylock/bh.h) \ + $(wildcard include/config/uninline/spin/unlock.h) \ + $(wildcard include/config/inline/spin/unlock/bh.h) \ + $(wildcard include/config/inline/spin/unlock/irq.h) \ + $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/inline/read/lock.h) \ + $(wildcard include/config/inline/write/lock.h) \ + $(wildcard include/config/inline/read/lock/bh.h) \ + $(wildcard include/config/inline/write/lock/bh.h) \ + $(wildcard include/config/inline/read/lock/irq.h) \ + $(wildcard include/config/inline/write/lock/irq.h) \ + $(wildcard include/config/inline/read/lock/irqsave.h) \ + $(wildcard include/config/inline/write/lock/irqsave.h) \ + $(wildcard include/config/inline/read/trylock.h) \ + $(wildcard include/config/inline/write/trylock.h) \ + $(wildcard include/config/inline/read/unlock.h) \ + $(wildcard include/config/inline/write/unlock.h) \ + $(wildcard include/config/inline/read/unlock/bh.h) \ + $(wildcard include/config/inline/write/unlock/bh.h) \ + $(wildcard include/config/inline/read/unlock/irq.h) \ + $(wildcard include/config/inline/write/unlock/irq.h) \ + $(wildcard include/config/inline/read/unlock/irqrestore.h) \ + $(wildcard include/config/inline/write/unlock/irqrestore.h) \ + include/linux/atomic.h \ + $(wildcard include/config/arch/has/atomic/or.h) \ + $(wildcard include/config/generic/atomic64.h) \ + include/asm-generic/atomic-long.h \ + include/linux/math64.h \ + arch/arm64/include/generated/asm/div64.h \ + include/asm-generic/div64.h \ + include/uapi/linux/time.h \ + /root/tegra/include/uapi/linux/param.h \ + /root/tegra/arch/arm64/include/asm/timex.h \ + /root/tegra/arch/arm64/include/asm/arch_timer.h \ + include/clocksource/arm_arch_timer.h \ + $(wildcard include/config/arm/arch/timer.h) \ + include/linux/clocksource.h \ + $(wildcard include/config/arch/clocksource/data.h) \ + $(wildcard include/config/clocksource/watchdog.h) \ + $(wildcard include/config/clksrc/of.h) \ + include/linux/timer.h \ + $(wildcard include/config/timer/stats.h) \ + $(wildcard include/config/debug/objects/timers.h) \ + include/linux/ktime.h \ + $(wildcard include/config/ktime/scalar.h) \ + include/linux/jiffies.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/debug/objects.h) \ + $(wildcard include/config/debug/objects/free.h) \ + /root/tegra/arch/arm64/include/asm/io.h \ + /root/tegra/arch/arm64/include/asm/pgtable.h \ + /root/tegra/arch/arm64/include/asm/proc-fns.h \ + /root/tegra/arch/arm64/include/asm/page.h \ + $(wildcard include/config/have/arch/pfn/valid.h) \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-types.h \ + include/asm-generic/pgtable-nopud.h \ + /root/tegra/arch/arm64/include/asm/memory.h \ + $(wildcard include/config/need/mach/memory/h.h) \ + arch/arm64/include/generated/asm/sizes.h \ + include/asm-generic/sizes.h \ + include/linux/sizes.h \ + arch/arm/mach-tegra/include/mach/memory.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/flatmem.h) \ + $(wildcard include/config/discontigmem.h) \ + $(wildcard include/config/sparsemem/vmemmap.h) \ + $(wildcard include/config/sparsemem.h) \ + include/asm-generic/getorder.h \ + /root/tegra/arch/arm64/include/asm/pgtable-hwdef.h \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-hwdef.h \ + include/asm-generic/pgtable.h \ + $(wildcard include/config/transparent/hugepage.h) \ + $(wildcard include/config/arch/uses/numa/prot/none.h) \ + include/linux/mm_types.h \ + $(wildcard include/config/split/ptlock/cpus.h) \ + $(wildcard include/config/have/cmpxchg/double.h) \ + $(wildcard include/config/have/aligned/struct/page.h) \ + $(wildcard include/config/want/page/debug/flags.h) \ + $(wildcard include/config/kmemcheck.h) \ + $(wildcard include/config/aio.h) \ + $(wildcard include/config/mmu/notifier.h) \ + $(wildcard include/config/compaction.h) \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + /root/tegra/arch/arm64/include/uapi/asm/auxvec.h \ + include/linux/rbtree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/rwsem/generic/spinlock.h) \ + include/linux/rwsem-spinlock.h \ + include/linux/completion.h \ + include/linux/wait.h \ + arch/arm64/include/generated/asm/current.h \ + include/asm-generic/current.h \ + include/uapi/linux/wait.h \ + include/linux/cpumask.h \ + $(wildcard include/config/debug/per/cpu/maps.h) \ + $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ + include/linux/bitmap.h \ + include/linux/page-debug-flags.h \ + $(wildcard include/config/page/poisoning.h) \ + $(wildcard include/config/page/guard.h) \ + $(wildcard include/config/page/debug/something/else.h) \ + include/linux/uprobes.h \ + $(wildcard include/config/arch/supports/uprobes.h) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + arch/arm64/include/generated/asm/errno.h \ + /root/tegra/include/uapi/asm-generic/errno.h \ + /root/tegra/include/uapi/asm-generic/errno-base.h \ + include/linux/page-flags-layout.h \ + include/linux/numa.h \ + $(wildcard include/config/nodes/shift.h) \ + include/generated/bounds.h \ + /root/tegra/arch/arm64/include/asm/sparsemem.h \ + /root/tegra/arch/arm64/include/asm/mmu.h \ + include/asm-generic/iomap.h \ + $(wildcard include/config/has/ioport.h) \ + $(wildcard include/config/pci.h) \ + $(wildcard include/config/generic/iomap.h) \ + include/asm-generic/pci_iomap.h \ + $(wildcard include/config/no/generic/pci/ioport/map.h) \ + $(wildcard include/config/generic/pci/iomap.h) \ + include/asm-generic/timex.h \ + include/linux/nodemask.h \ + $(wildcard include/config/highmem.h) \ + $(wildcard include/config/movable/node.h) \ + arch/arm64/include/generated/asm/cputime.h \ + include/asm-generic/cputime.h \ + $(wildcard include/config/virt/cpu/accounting.h) \ + include/asm-generic/cputime_jiffies.h \ + include/linux/smp.h \ + /root/tegra/arch/arm64/include/asm/smp.h \ + include/linux/sem.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/rcu/torture/test.h) \ + $(wildcard include/config/tree/rcu.h) \ + $(wildcard include/config/rcu/trace.h) \ + $(wildcard include/config/rcu/user/qs.h) \ + $(wildcard include/config/tiny/rcu.h) \ + $(wildcard include/config/tiny/preempt/rcu.h) \ + $(wildcard include/config/debug/objects/rcu/head.h) \ + $(wildcard include/config/rcu/nocb/cpu.h) \ + include/linux/rcutree.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/linux/uidgid.h \ + $(wildcard include/config/uidgid/strict/type/checks.h) \ + $(wildcard include/config/user/ns.h) \ + include/linux/highuid.h \ + include/uapi/linux/ipc.h \ + arch/arm64/include/generated/asm/ipcbuf.h \ + /root/tegra/include/uapi/asm-generic/ipcbuf.h \ + arch/arm64/include/generated/asm/sembuf.h \ + /root/tegra/include/uapi/asm-generic/sembuf.h \ + include/linux/signal.h \ + $(wildcard include/config/old/sigaction.h) \ + include/uapi/linux/signal.h \ + /root/tegra/arch/arm64/include/uapi/asm/signal.h \ + include/asm-generic/signal.h \ + include/uapi/asm-generic/signal.h \ + /root/tegra/include/uapi/asm-generic/signal-defs.h \ + /root/tegra/arch/arm64/include/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/siginfo.h \ + include/asm-generic/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/pid.h \ + include/linux/percpu.h \ + $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ + $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ + $(wildcard include/config/have/setup/per/cpu/area.h) \ + include/linux/pfn.h \ + arch/arm64/include/generated/asm/percpu.h \ + include/asm-generic/percpu.h \ + include/linux/percpu-defs.h \ + $(wildcard include/config/debug/force/weak/per/cpu.h) \ + include/linux/topology.h \ + $(wildcard include/config/sched/smt.h) \ + $(wildcard include/config/sched/mc.h) \ + $(wildcard include/config/sched/book.h) \ + $(wildcard include/config/use/percpu/numa/node/id.h) \ + $(wildcard include/config/have/memoryless/nodes.h) \ + include/linux/mmzone.h \ + $(wildcard include/config/force/max/zoneorder.h) \ + $(wildcard include/config/cma.h) \ + $(wildcard include/config/memory/isolation.h) \ + $(wildcard include/config/zone/dma.h) \ + $(wildcard include/config/zone/dma32.h) \ + $(wildcard include/config/memory/hotplug.h) \ + $(wildcard include/config/have/memblock/node/map.h) \ + $(wildcard include/config/flat/node/mem/map.h) \ + $(wildcard include/config/no/bootmem.h) \ + $(wildcard include/config/have/memory/present.h) \ + $(wildcard include/config/need/node/memmap/size.h) \ + $(wildcard include/config/need/multiple/nodes.h) \ + $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ + $(wildcard include/config/sparsemem/extreme.h) \ + $(wildcard include/config/nodes/span/other/nodes.h) \ + $(wildcard include/config/holes/in/zone.h) \ + $(wildcard include/config/arch/has/holes/memorymodel.h) \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/hugetlb/page.h) \ + $(wildcard include/config/hugetlb/page/size/variable.h) \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/memory/hotremove.h) \ + $(wildcard include/config/have/arch/nodedata/extension.h) \ + $(wildcard include/config/have/bootmem/info/node.h) \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/mutex/spin/on/owner.h) \ + $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ + include/linux/srcu.h \ + include/linux/workqueue.h \ + $(wildcard include/config/debug/objects/work.h) \ + $(wildcard include/config/freezer.h) \ + arch/arm64/include/generated/asm/topology.h \ + include/asm-generic/topology.h \ + include/linux/proportions.h \ + include/linux/percpu_counter.h \ + include/linux/seccomp.h \ + $(wildcard include/config/seccomp.h) \ + $(wildcard include/config/seccomp/filter.h) \ + include/uapi/linux/seccomp.h \ + /root/tegra/arch/arm64/include/asm/seccomp.h \ + /root/tegra/arch/arm64/include/asm/unistd.h \ + /root/tegra/arch/arm64/include/uapi/asm/unistd.h \ + include/asm-generic/unistd.h \ + include/uapi/asm-generic/unistd.h \ + include/asm-generic/seccomp.h \ + include/linux/rculist.h \ + include/linux/rtmutex.h \ + $(wildcard include/config/debug/rt/mutexes.h) \ + include/linux/plist.h \ + $(wildcard include/config/debug/pi/list.h) \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + arch/arm64/include/generated/asm/resource.h \ + include/asm-generic/resource.h \ + include/uapi/asm-generic/resource.h \ + include/linux/hrtimer.h \ + $(wildcard include/config/high/res/timers.h) \ + $(wildcard include/config/timerfd.h) \ + include/linux/timerqueue.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/task/io/accounting.h) \ + include/linux/latencytop.h \ + include/linux/cred.h \ + $(wildcard include/config/debug/credentials.h) \ + $(wildcard include/config/security.h) \ + include/linux/key.h \ + $(wildcard include/config/sysctl.h) \ + include/linux/sysctl.h \ + include/uapi/linux/sysctl.h \ + include/linux/selinux.h \ + $(wildcard include/config/security/selinux.h) \ + include/linux/llist.h \ + $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ + include/linux/gfp.h \ + $(wildcard include/config/pm/sleep.h) \ + include/linux/mmdebug.h \ + $(wildcard include/config/debug/vm.h) \ + $(wildcard include/config/debug/virtual.h) \ + include/linux/ptrace.h \ + include/linux/err.h \ + include/linux/pid_namespace.h \ + $(wildcard include/config/pid/ns.h) \ + include/linux/mm.h \ + $(wildcard include/config/have/arch/mmap/rnd/bits.h) \ + $(wildcard include/config/have/arch/mmap/rnd/compat/bits.h) \ + $(wildcard include/config/x86.h) \ + $(wildcard include/config/ppc.h) \ + $(wildcard include/config/parisc.h) \ + $(wildcard include/config/metag.h) \ + $(wildcard include/config/ia64.h) \ + $(wildcard include/config/ksm.h) \ + $(wildcard include/config/debug/vm/rb.h) \ + $(wildcard include/config/debug/pagealloc.h) \ + $(wildcard include/config/hibernation.h) \ + $(wildcard include/config/hugetlbfs.h) \ + include/linux/debug_locks.h \ + $(wildcard include/config/debug/locking/api/selftests.h) \ + include/linux/range.h \ + include/linux/bit_spinlock.h \ + include/linux/shrinker.h \ + include/linux/page-flags.h \ + $(wildcard include/config/pageflags/extended.h) \ + $(wildcard include/config/arch/uses/pg/uncached.h) \ + $(wildcard include/config/memory/failure.h) \ + $(wildcard include/config/swap.h) \ + include/linux/huge_mm.h \ + include/linux/vmstat.h \ + $(wildcard include/config/vm/event/counters.h) \ + include/linux/vm_event_item.h \ + $(wildcard include/config/migration.h) \ + include/linux/nsproxy.h \ + include/linux/kref.h \ + include/uapi/linux/ptrace.h \ + include/uapi/linux/stat.h \ + include/linux/kmod.h \ + include/linux/elf.h \ + /root/tegra/arch/arm64/include/asm/elf.h \ + arch/arm64/include/generated/asm/user.h \ + include/asm-generic/user.h \ + include/uapi/linux/elf.h \ + /root/tegra/include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + include/linux/sysfs.h \ + include/linux/kobject_ns.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/alpha.h) \ + $(wildcard include/config/ppc64.h) \ + include/linux/tracepoint.h \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/jump/label.h) \ + /root/tegra/arch/arm64/include/asm/jump_label.h \ + /root/tegra/arch/arm64/include/asm/insn.h \ + /root/tegra/arch/arm64/include/asm/module.h \ + include/asm-generic/module.h \ + $(wildcard include/config/have/mod/arch/specific.h) \ + $(wildcard include/config/modules/use/elf/rel.h) \ + $(wildcard include/config/modules/use/elf/rela.h) \ + include/linux/vermagic.h \ + include/generated/utsrelease.h \ + +/root/android/my_test/01_day/module_1.mod.o: $(deps_/root/android/my_test/01_day/module_1.mod.o) + +$(deps_/root/android/my_test/01_day/module_1.mod.o): diff --git a/01_day/.module_1.o.cmd b/01_day/.module_1.o.cmd new file mode 100644 index 0000000..cae7002 --- /dev/null +++ b/01_day/.module_1.o.cmd @@ -0,0 +1,605 @@ +cmd_/root/android/my_test/01_day/module_1.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.module_1.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(module_1)" -D"KBUILD_MODNAME=KBUILD_STR(module_1)" -c -o /root/android/my_test/01_day/module_1.o /root/android/my_test/01_day/module_1.c + +source_/root/android/my_test/01_day/module_1.o := /root/android/my_test/01_day/module_1.c + +deps_/root/android/my_test/01_day/module_1.o := \ + include/linux/module.h \ + $(wildcard include/config/sysfs.h) \ + $(wildcard include/config/modules.h) \ + $(wildcard include/config/unused/symbols.h) \ + $(wildcard include/config/module/sig.h) \ + $(wildcard include/config/generic/bug.h) \ + $(wildcard include/config/kallsyms.h) \ + $(wildcard include/config/smp.h) \ + $(wildcard include/config/tracepoints.h) \ + $(wildcard include/config/tracing.h) \ + $(wildcard include/config/event/tracing.h) \ + $(wildcard include/config/ftrace/mcount/record.h) \ + $(wildcard include/config/module/unload.h) \ + $(wildcard include/config/constructors.h) \ + $(wildcard include/config/debug/set/module/ronx.h) \ + include/linux/list.h \ + $(wildcard include/config/debug/list.h) \ + include/linux/types.h \ + $(wildcard include/config/have/uid16.h) \ + $(wildcard include/config/uid16.h) \ + $(wildcard include/config/lbdaf.h) \ + $(wildcard include/config/arch/dma/addr/t/64bit.h) \ + $(wildcard include/config/phys/addr/t/64bit.h) \ + $(wildcard include/config/64bit.h) \ + include/uapi/linux/types.h \ + arch/arm64/include/generated/asm/types.h \ + /root/tegra/include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + /root/tegra/arch/arm64/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + /root/tegra/include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler.h \ + $(wildcard include/config/sparse/rcu/pointer.h) \ + $(wildcard include/config/trace/branch/profiling.h) \ + $(wildcard include/config/profile/all/branches.h) \ + $(wildcard include/config/enable/must/check.h) \ + $(wildcard include/config/enable/warn/deprecated.h) \ + $(wildcard include/config/kprobes.h) \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/arch/supports/optimized/inlining.h) \ + $(wildcard include/config/optimize/inlining.h) \ + $(wildcard include/config/gcov/kernel.h) \ + $(wildcard include/config/arch/use/builtin/bswap.h) \ + arch/arm64/include/generated/asm/posix_types.h \ + /root/tegra/include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/illegal/pointer/value.h) \ + /root/tegra/include/uapi/linux/const.h \ + include/linux/stat.h \ + /root/tegra/arch/arm64/include/asm/stat.h \ + $(wildcard include/config/compat.h) \ + /root/tegra/arch/arm64/include/uapi/asm/stat.h \ + /root/tegra/include/uapi/asm-generic/stat.h \ + /root/tegra/arch/arm64/include/asm/compat.h \ + include/linux/sched.h \ + $(wildcard include/config/sched/debug.h) \ + $(wildcard include/config/prove/rcu.h) \ + $(wildcard include/config/no/hz/common.h) \ + $(wildcard include/config/lockup/detector.h) \ + $(wildcard include/config/mmu.h) \ + $(wildcard include/config/core/dump/default/elf/headers.h) \ + $(wildcard include/config/sched/autogroup.h) \ + $(wildcard include/config/virt/cpu/accounting/native.h) \ + $(wildcard include/config/bsd/process/acct.h) \ + $(wildcard include/config/taskstats.h) \ + $(wildcard include/config/audit.h) \ + $(wildcard include/config/cgroups.h) \ + $(wildcard include/config/inotify/user.h) \ + $(wildcard include/config/fanotify.h) \ + $(wildcard include/config/epoll.h) \ + $(wildcard include/config/posix/mqueue.h) \ + $(wildcard include/config/keys.h) \ + $(wildcard include/config/perf/events.h) \ + $(wildcard include/config/schedstats.h) \ + $(wildcard include/config/task/delay/acct.h) \ + $(wildcard include/config/fair/group/sched.h) \ + $(wildcard include/config/rt/group/sched.h) \ + $(wildcard include/config/cgroup/sched.h) \ + $(wildcard include/config/preempt/notifiers.h) \ + $(wildcard include/config/blk/dev/io/trace.h) \ + $(wildcard include/config/preempt/rcu.h) \ + $(wildcard include/config/tree/preempt/rcu.h) \ + $(wildcard include/config/rcu/boost.h) \ + $(wildcard include/config/compat/brk.h) \ + $(wildcard include/config/cc/stackprotector.h) \ + $(wildcard include/config/virt/cpu/accounting/gen.h) \ + $(wildcard include/config/sysvipc.h) \ + $(wildcard include/config/detect/hung/task.h) \ + $(wildcard include/config/auditsyscall.h) \ + $(wildcard include/config/rt/mutexes.h) \ + $(wildcard include/config/debug/mutexes.h) \ + $(wildcard include/config/trace/irqflags.h) \ + $(wildcard include/config/lockdep.h) \ + $(wildcard include/config/block.h) \ + $(wildcard include/config/task/xacct.h) \ + $(wildcard include/config/cpusets.h) \ + $(wildcard include/config/futex.h) \ + $(wildcard include/config/numa.h) \ + $(wildcard include/config/numa/balancing.h) \ + $(wildcard include/config/fault/injection.h) \ + $(wildcard include/config/latencytop.h) \ + $(wildcard include/config/function/graph/tracer.h) \ + $(wildcard include/config/memcg.h) \ + $(wildcard include/config/have/hw/breakpoint.h) \ + $(wildcard include/config/uprobes.h) \ + $(wildcard include/config/bcache.h) \ + $(wildcard include/config/cpumask/offstack.h) \ + $(wildcard include/config/have/unstable/sched/clock.h) \ + $(wildcard include/config/irq/time/accounting.h) \ + $(wildcard include/config/hotplug/cpu.h) \ + $(wildcard include/config/no/hz/full.h) \ + $(wildcard include/config/proc/fs.h) \ + $(wildcard include/config/stack/growsup.h) \ + $(wildcard include/config/debug/stack/usage.h) \ + $(wildcard include/config/preempt/count.h) \ + $(wildcard include/config/preempt.h) \ + $(wildcard include/config/mm/owner.h) \ + include/uapi/linux/sched.h \ + /root/tegra/arch/arm64/include/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/hz.h) \ + include/uapi/asm-generic/param.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/threads.h \ + $(wildcard include/config/nr/cpus.h) \ + $(wildcard include/config/base/small.h) \ + include/linux/kernel.h \ + $(wildcard include/config/preempt/voluntary.h) \ + $(wildcard include/config/debug/atomic/sleep.h) \ + $(wildcard include/config/prove/locking.h) \ + $(wildcard include/config/ring/buffer.h) \ + /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9/include/stdarg.h \ + include/linux/linkage.h \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/have/underscore/symbol/prefix.h) \ + $(wildcard include/config/modversions.h) \ + /root/tegra/arch/arm64/include/asm/linkage.h \ + include/linux/bitops.h \ + /root/tegra/arch/arm64/include/asm/bitops.h \ + /root/tegra/arch/arm64/include/asm/barrier.h \ + include/asm-generic/bitops/builtin-__ffs.h \ + include/asm-generic/bitops/builtin-ffs.h \ + include/asm-generic/bitops/builtin-__fls.h \ + include/asm-generic/bitops/builtin-fls.h \ + include/asm-generic/bitops/ffz.h \ + include/asm-generic/bitops/fls64.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/generic/find/first/bit.h) \ + include/asm-generic/bitops/sched.h \ + include/asm-generic/bitops/hweight.h \ + include/asm-generic/bitops/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/lock.h \ + include/asm-generic/bitops/non-atomic.h \ + include/asm-generic/bitops/le.h \ + /root/tegra/arch/arm64/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/arm64/include/generated/asm/swab.h \ + /root/tegra/include/uapi/asm-generic/swab.h \ + include/linux/byteorder/generic.h \ + include/linux/log2.h \ + $(wildcard include/config/arch/has/ilog2/u32.h) \ + $(wildcard include/config/arch/has/ilog2/u64.h) \ + include/linux/typecheck.h \ + include/linux/printk.h \ + $(wildcard include/config/early/printk.h) \ + $(wildcard include/config/printk.h) \ + $(wildcard include/config/dynamic/debug.h) \ + include/linux/init.h \ + $(wildcard include/config/broken/rodata.h) \ + include/linux/kern_levels.h \ + include/linux/dynamic_debug.h \ + include/uapi/linux/kernel.h \ + /root/tegra/include/uapi/linux/sysinfo.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + include/linux/time.h \ + $(wildcard include/config/arch/uses/gettimeoffset.h) \ + include/linux/cache.h \ + $(wildcard include/config/arch/has/cache/line/size.h) \ + /root/tegra/arch/arm64/include/asm/cache.h \ + include/linux/seqlock.h \ + include/linux/spinlock.h \ + $(wildcard include/config/debug/spinlock.h) \ + $(wildcard include/config/generic/lockbreak.h) \ + $(wildcard include/config/debug/lock/alloc.h) \ + include/linux/preempt.h \ + $(wildcard include/config/debug/preempt.h) \ + $(wildcard include/config/preempt/tracer.h) \ + $(wildcard include/config/context/tracking.h) \ + arch/arm64/include/generated/asm/preempt.h \ + include/asm-generic/preempt.h \ + include/linux/thread_info.h \ + include/linux/bug.h \ + arch/arm64/include/generated/asm/bug.h \ + include/asm-generic/bug.h \ + $(wildcard include/config/bug.h) \ + $(wildcard include/config/generic/bug/relative/pointers.h) \ + $(wildcard include/config/debug/bugverbose.h) \ + /root/tegra/arch/arm64/include/asm/relaxed.h \ + /root/tegra/arch/arm64/include/asm/atomic.h \ + /root/tegra/arch/arm64/include/asm/cmpxchg.h \ + include/asm-generic/relaxed.h \ + /root/tegra/arch/arm64/include/asm/thread_info.h \ + $(wildcard include/config/arm64/64k/pages.h) \ + include/linux/irqflags.h \ + $(wildcard include/config/irqsoff/tracer.h) \ + $(wildcard include/config/trace/irqflags/support.h) \ + /root/tegra/arch/arm64/include/asm/irqflags.h \ + /root/tegra/arch/arm64/include/asm/ptrace.h \ + /root/tegra/arch/arm64/include/uapi/asm/ptrace.h \ + /root/tegra/arch/arm64/include/asm/hwcap.h \ + /root/tegra/arch/arm64/include/uapi/asm/hwcap.h \ + include/linux/bottom_half.h \ + include/linux/spinlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock_types.h \ + $(wildcard include/config/arm64/simple/spinlock.h) \ + include/linux/lockdep.h \ + $(wildcard include/config/lock/stat.h) \ + include/linux/rwlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock.h \ + /root/tegra/arch/arm64/include/asm/processor.h \ + include/linux/string.h \ + $(wildcard include/config/binary/printf.h) \ + include/uapi/linux/string.h \ + /root/tegra/arch/arm64/include/asm/string.h \ + /root/tegra/arch/arm64/include/asm/fpsimd.h \ + /root/tegra/arch/arm64/include/asm/hw_breakpoint.h \ + include/asm-generic/processor.h \ + include/linux/rwlock.h \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/inline/spin/lock.h) \ + $(wildcard include/config/inline/spin/lock/bh.h) \ + $(wildcard include/config/inline/spin/lock/irq.h) \ + $(wildcard include/config/inline/spin/lock/irqsave.h) \ + $(wildcard include/config/inline/spin/trylock.h) \ + $(wildcard include/config/inline/spin/trylock/bh.h) \ + $(wildcard include/config/uninline/spin/unlock.h) \ + $(wildcard include/config/inline/spin/unlock/bh.h) \ + $(wildcard include/config/inline/spin/unlock/irq.h) \ + $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/inline/read/lock.h) \ + $(wildcard include/config/inline/write/lock.h) \ + $(wildcard include/config/inline/read/lock/bh.h) \ + $(wildcard include/config/inline/write/lock/bh.h) \ + $(wildcard include/config/inline/read/lock/irq.h) \ + $(wildcard include/config/inline/write/lock/irq.h) \ + $(wildcard include/config/inline/read/lock/irqsave.h) \ + $(wildcard include/config/inline/write/lock/irqsave.h) \ + $(wildcard include/config/inline/read/trylock.h) \ + $(wildcard include/config/inline/write/trylock.h) \ + $(wildcard include/config/inline/read/unlock.h) \ + $(wildcard include/config/inline/write/unlock.h) \ + $(wildcard include/config/inline/read/unlock/bh.h) \ + $(wildcard include/config/inline/write/unlock/bh.h) \ + $(wildcard include/config/inline/read/unlock/irq.h) \ + $(wildcard include/config/inline/write/unlock/irq.h) \ + $(wildcard include/config/inline/read/unlock/irqrestore.h) \ + $(wildcard include/config/inline/write/unlock/irqrestore.h) \ + include/linux/atomic.h \ + $(wildcard include/config/arch/has/atomic/or.h) \ + $(wildcard include/config/generic/atomic64.h) \ + include/asm-generic/atomic-long.h \ + include/linux/math64.h \ + arch/arm64/include/generated/asm/div64.h \ + include/asm-generic/div64.h \ + include/uapi/linux/time.h \ + /root/tegra/include/uapi/linux/param.h \ + /root/tegra/arch/arm64/include/asm/timex.h \ + /root/tegra/arch/arm64/include/asm/arch_timer.h \ + include/clocksource/arm_arch_timer.h \ + $(wildcard include/config/arm/arch/timer.h) \ + include/linux/clocksource.h \ + $(wildcard include/config/arch/clocksource/data.h) \ + $(wildcard include/config/clocksource/watchdog.h) \ + $(wildcard include/config/clksrc/of.h) \ + include/linux/timer.h \ + $(wildcard include/config/timer/stats.h) \ + $(wildcard include/config/debug/objects/timers.h) \ + include/linux/ktime.h \ + $(wildcard include/config/ktime/scalar.h) \ + include/linux/jiffies.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/debug/objects.h) \ + $(wildcard include/config/debug/objects/free.h) \ + /root/tegra/arch/arm64/include/asm/io.h \ + /root/tegra/arch/arm64/include/asm/pgtable.h \ + /root/tegra/arch/arm64/include/asm/proc-fns.h \ + /root/tegra/arch/arm64/include/asm/page.h \ + $(wildcard include/config/have/arch/pfn/valid.h) \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-types.h \ + include/asm-generic/pgtable-nopud.h \ + /root/tegra/arch/arm64/include/asm/memory.h \ + $(wildcard include/config/need/mach/memory/h.h) \ + arch/arm64/include/generated/asm/sizes.h \ + include/asm-generic/sizes.h \ + include/linux/sizes.h \ + arch/arm/mach-tegra/include/mach/memory.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/flatmem.h) \ + $(wildcard include/config/discontigmem.h) \ + $(wildcard include/config/sparsemem/vmemmap.h) \ + $(wildcard include/config/sparsemem.h) \ + include/asm-generic/getorder.h \ + /root/tegra/arch/arm64/include/asm/pgtable-hwdef.h \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-hwdef.h \ + include/asm-generic/pgtable.h \ + $(wildcard include/config/transparent/hugepage.h) \ + $(wildcard include/config/arch/uses/numa/prot/none.h) \ + include/linux/mm_types.h \ + $(wildcard include/config/split/ptlock/cpus.h) \ + $(wildcard include/config/have/cmpxchg/double.h) \ + $(wildcard include/config/have/aligned/struct/page.h) \ + $(wildcard include/config/want/page/debug/flags.h) \ + $(wildcard include/config/kmemcheck.h) \ + $(wildcard include/config/aio.h) \ + $(wildcard include/config/mmu/notifier.h) \ + $(wildcard include/config/compaction.h) \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + /root/tegra/arch/arm64/include/uapi/asm/auxvec.h \ + include/linux/rbtree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/rwsem/generic/spinlock.h) \ + include/linux/rwsem-spinlock.h \ + include/linux/completion.h \ + include/linux/wait.h \ + arch/arm64/include/generated/asm/current.h \ + include/asm-generic/current.h \ + include/uapi/linux/wait.h \ + include/linux/cpumask.h \ + $(wildcard include/config/debug/per/cpu/maps.h) \ + $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ + include/linux/bitmap.h \ + include/linux/page-debug-flags.h \ + $(wildcard include/config/page/poisoning.h) \ + $(wildcard include/config/page/guard.h) \ + $(wildcard include/config/page/debug/something/else.h) \ + include/linux/uprobes.h \ + $(wildcard include/config/arch/supports/uprobes.h) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + arch/arm64/include/generated/asm/errno.h \ + /root/tegra/include/uapi/asm-generic/errno.h \ + /root/tegra/include/uapi/asm-generic/errno-base.h \ + include/linux/page-flags-layout.h \ + include/linux/numa.h \ + $(wildcard include/config/nodes/shift.h) \ + include/generated/bounds.h \ + /root/tegra/arch/arm64/include/asm/sparsemem.h \ + /root/tegra/arch/arm64/include/asm/mmu.h \ + include/asm-generic/iomap.h \ + $(wildcard include/config/has/ioport.h) \ + $(wildcard include/config/pci.h) \ + $(wildcard include/config/generic/iomap.h) \ + include/asm-generic/pci_iomap.h \ + $(wildcard include/config/no/generic/pci/ioport/map.h) \ + $(wildcard include/config/generic/pci/iomap.h) \ + include/asm-generic/timex.h \ + include/linux/nodemask.h \ + $(wildcard include/config/highmem.h) \ + $(wildcard include/config/movable/node.h) \ + arch/arm64/include/generated/asm/cputime.h \ + include/asm-generic/cputime.h \ + $(wildcard include/config/virt/cpu/accounting.h) \ + include/asm-generic/cputime_jiffies.h \ + include/linux/smp.h \ + /root/tegra/arch/arm64/include/asm/smp.h \ + include/linux/sem.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/rcu/torture/test.h) \ + $(wildcard include/config/tree/rcu.h) \ + $(wildcard include/config/rcu/trace.h) \ + $(wildcard include/config/rcu/user/qs.h) \ + $(wildcard include/config/tiny/rcu.h) \ + $(wildcard include/config/tiny/preempt/rcu.h) \ + $(wildcard include/config/debug/objects/rcu/head.h) \ + $(wildcard include/config/rcu/nocb/cpu.h) \ + include/linux/rcutree.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/linux/uidgid.h \ + $(wildcard include/config/uidgid/strict/type/checks.h) \ + $(wildcard include/config/user/ns.h) \ + include/linux/highuid.h \ + include/uapi/linux/ipc.h \ + arch/arm64/include/generated/asm/ipcbuf.h \ + /root/tegra/include/uapi/asm-generic/ipcbuf.h \ + arch/arm64/include/generated/asm/sembuf.h \ + /root/tegra/include/uapi/asm-generic/sembuf.h \ + include/linux/signal.h \ + $(wildcard include/config/old/sigaction.h) \ + include/uapi/linux/signal.h \ + /root/tegra/arch/arm64/include/uapi/asm/signal.h \ + include/asm-generic/signal.h \ + include/uapi/asm-generic/signal.h \ + /root/tegra/include/uapi/asm-generic/signal-defs.h \ + /root/tegra/arch/arm64/include/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/siginfo.h \ + include/asm-generic/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/pid.h \ + include/linux/percpu.h \ + $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ + $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ + $(wildcard include/config/have/setup/per/cpu/area.h) \ + include/linux/pfn.h \ + arch/arm64/include/generated/asm/percpu.h \ + include/asm-generic/percpu.h \ + include/linux/percpu-defs.h \ + $(wildcard include/config/debug/force/weak/per/cpu.h) \ + include/linux/topology.h \ + $(wildcard include/config/sched/smt.h) \ + $(wildcard include/config/sched/mc.h) \ + $(wildcard include/config/sched/book.h) \ + $(wildcard include/config/use/percpu/numa/node/id.h) \ + $(wildcard include/config/have/memoryless/nodes.h) \ + include/linux/mmzone.h \ + $(wildcard include/config/force/max/zoneorder.h) \ + $(wildcard include/config/cma.h) \ + $(wildcard include/config/memory/isolation.h) \ + $(wildcard include/config/zone/dma.h) \ + $(wildcard include/config/zone/dma32.h) \ + $(wildcard include/config/memory/hotplug.h) \ + $(wildcard include/config/have/memblock/node/map.h) \ + $(wildcard include/config/flat/node/mem/map.h) \ + $(wildcard include/config/no/bootmem.h) \ + $(wildcard include/config/have/memory/present.h) \ + $(wildcard include/config/need/node/memmap/size.h) \ + $(wildcard include/config/need/multiple/nodes.h) \ + $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ + $(wildcard include/config/sparsemem/extreme.h) \ + $(wildcard include/config/nodes/span/other/nodes.h) \ + $(wildcard include/config/holes/in/zone.h) \ + $(wildcard include/config/arch/has/holes/memorymodel.h) \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/hugetlb/page.h) \ + $(wildcard include/config/hugetlb/page/size/variable.h) \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/memory/hotremove.h) \ + $(wildcard include/config/have/arch/nodedata/extension.h) \ + $(wildcard include/config/have/bootmem/info/node.h) \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/mutex/spin/on/owner.h) \ + $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ + include/linux/srcu.h \ + include/linux/workqueue.h \ + $(wildcard include/config/debug/objects/work.h) \ + $(wildcard include/config/freezer.h) \ + arch/arm64/include/generated/asm/topology.h \ + include/asm-generic/topology.h \ + include/linux/proportions.h \ + include/linux/percpu_counter.h \ + include/linux/seccomp.h \ + $(wildcard include/config/seccomp.h) \ + $(wildcard include/config/seccomp/filter.h) \ + include/uapi/linux/seccomp.h \ + /root/tegra/arch/arm64/include/asm/seccomp.h \ + /root/tegra/arch/arm64/include/asm/unistd.h \ + /root/tegra/arch/arm64/include/uapi/asm/unistd.h \ + include/asm-generic/unistd.h \ + include/uapi/asm-generic/unistd.h \ + include/asm-generic/seccomp.h \ + include/linux/rculist.h \ + include/linux/rtmutex.h \ + $(wildcard include/config/debug/rt/mutexes.h) \ + include/linux/plist.h \ + $(wildcard include/config/debug/pi/list.h) \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + arch/arm64/include/generated/asm/resource.h \ + include/asm-generic/resource.h \ + include/uapi/asm-generic/resource.h \ + include/linux/hrtimer.h \ + $(wildcard include/config/high/res/timers.h) \ + $(wildcard include/config/timerfd.h) \ + include/linux/timerqueue.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/task/io/accounting.h) \ + include/linux/latencytop.h \ + include/linux/cred.h \ + $(wildcard include/config/debug/credentials.h) \ + $(wildcard include/config/security.h) \ + include/linux/key.h \ + $(wildcard include/config/sysctl.h) \ + include/linux/sysctl.h \ + include/uapi/linux/sysctl.h \ + include/linux/selinux.h \ + $(wildcard include/config/security/selinux.h) \ + include/linux/llist.h \ + $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ + include/linux/gfp.h \ + $(wildcard include/config/pm/sleep.h) \ + include/linux/mmdebug.h \ + $(wildcard include/config/debug/vm.h) \ + $(wildcard include/config/debug/virtual.h) \ + include/linux/ptrace.h \ + include/linux/err.h \ + include/linux/pid_namespace.h \ + $(wildcard include/config/pid/ns.h) \ + include/linux/mm.h \ + $(wildcard include/config/have/arch/mmap/rnd/bits.h) \ + $(wildcard include/config/have/arch/mmap/rnd/compat/bits.h) \ + $(wildcard include/config/x86.h) \ + $(wildcard include/config/ppc.h) \ + $(wildcard include/config/parisc.h) \ + $(wildcard include/config/metag.h) \ + $(wildcard include/config/ia64.h) \ + $(wildcard include/config/ksm.h) \ + $(wildcard include/config/debug/vm/rb.h) \ + $(wildcard include/config/debug/pagealloc.h) \ + $(wildcard include/config/hibernation.h) \ + $(wildcard include/config/hugetlbfs.h) \ + include/linux/debug_locks.h \ + $(wildcard include/config/debug/locking/api/selftests.h) \ + include/linux/range.h \ + include/linux/bit_spinlock.h \ + include/linux/shrinker.h \ + include/linux/page-flags.h \ + $(wildcard include/config/pageflags/extended.h) \ + $(wildcard include/config/arch/uses/pg/uncached.h) \ + $(wildcard include/config/memory/failure.h) \ + $(wildcard include/config/swap.h) \ + include/linux/huge_mm.h \ + include/linux/vmstat.h \ + $(wildcard include/config/vm/event/counters.h) \ + include/linux/vm_event_item.h \ + $(wildcard include/config/migration.h) \ + include/linux/nsproxy.h \ + include/linux/kref.h \ + include/uapi/linux/ptrace.h \ + include/uapi/linux/stat.h \ + include/linux/kmod.h \ + include/linux/elf.h \ + /root/tegra/arch/arm64/include/asm/elf.h \ + arch/arm64/include/generated/asm/user.h \ + include/asm-generic/user.h \ + include/uapi/linux/elf.h \ + /root/tegra/include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + include/linux/sysfs.h \ + include/linux/kobject_ns.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/alpha.h) \ + $(wildcard include/config/ppc64.h) \ + include/linux/tracepoint.h \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/jump/label.h) \ + /root/tegra/arch/arm64/include/asm/jump_label.h \ + /root/tegra/arch/arm64/include/asm/insn.h \ + /root/tegra/arch/arm64/include/asm/module.h \ + include/asm-generic/module.h \ + $(wildcard include/config/have/mod/arch/specific.h) \ + $(wildcard include/config/modules/use/elf/rel.h) \ + $(wildcard include/config/modules/use/elf/rela.h) \ + include/linux/gpio.h \ + $(wildcard include/config/gpiolib.h) \ + $(wildcard include/config/arch/have/custom/gpio/h.h) \ + /root/tegra/arch/arm64/include/asm/gpio.h \ + $(wildcard include/config/arch/nr/gpio.h) \ + $(wildcard include/config/need/mach/gpio/h.h) \ + include/asm-generic/gpio.h \ + $(wildcard include/config/of/gpio.h) \ + $(wildcard include/config/of.h) \ + $(wildcard include/config/pinctrl.h) \ + $(wildcard include/config/gpio/sysfs.h) \ + include/linux/of.h \ + $(wildcard include/config/sparc.h) \ + $(wildcard include/config/of/dynamic.h) \ + $(wildcard include/config/attach/node.h) \ + $(wildcard include/config/detach/node.h) \ + $(wildcard include/config/add/property.h) \ + $(wildcard include/config/remove/property.h) \ + $(wildcard include/config/update/property.h) \ + $(wildcard include/config/proc/devicetree.h) \ + include/linux/mod_devicetable.h \ + include/linux/uuid.h \ + include/uapi/linux/uuid.h \ + /root/tegra/arch/arm64/include/asm/prom.h \ + include/linux/pinctrl/pinctrl.h \ + include/linux/radix-tree.h \ + include/linux/seq_file.h \ + include/linux/pinctrl/pinctrl-state.h \ + +/root/android/my_test/01_day/module_1.o: $(deps_/root/android/my_test/01_day/module_1.o) + +$(deps_/root/android/my_test/01_day/module_1.o): diff --git a/01_day/.module_2.ko.cmd b/01_day/.module_2.ko.cmd new file mode 100644 index 0000000..ed08ae9 --- /dev/null +++ b/01_day/.module_2.ko.cmd @@ -0,0 +1 @@ +cmd_/root/android/my_test/01_day/module_2.ko := aarch64-linux-android-ld -EL -r -T /root/tegra/scripts/module-common.lds --build-id -o /root/android/my_test/01_day/module_2.ko /root/android/my_test/01_day/module_2.o /root/android/my_test/01_day/module_2.mod.o diff --git a/01_day/.module_2.mod.o.cmd b/01_day/.module_2.mod.o.cmd new file mode 100644 index 0000000..d2ec2d9 --- /dev/null +++ b/01_day/.module_2.mod.o.cmd @@ -0,0 +1,579 @@ +cmd_/root/android/my_test/01_day/module_2.mod.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.module_2.mod.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(module_2.mod)" -D"KBUILD_MODNAME=KBUILD_STR(module_2)" -DMODULE -c -o /root/android/my_test/01_day/module_2.mod.o /root/android/my_test/01_day/module_2.mod.c + +source_/root/android/my_test/01_day/module_2.mod.o := /root/android/my_test/01_day/module_2.mod.c + +deps_/root/android/my_test/01_day/module_2.mod.o := \ + $(wildcard include/config/module/unload.h) \ + include/linux/module.h \ + $(wildcard include/config/sysfs.h) \ + $(wildcard include/config/modules.h) \ + $(wildcard include/config/unused/symbols.h) \ + $(wildcard include/config/module/sig.h) \ + $(wildcard include/config/generic/bug.h) \ + $(wildcard include/config/kallsyms.h) \ + $(wildcard include/config/smp.h) \ + $(wildcard include/config/tracepoints.h) \ + $(wildcard include/config/tracing.h) \ + $(wildcard include/config/event/tracing.h) \ + $(wildcard include/config/ftrace/mcount/record.h) \ + $(wildcard include/config/constructors.h) \ + $(wildcard include/config/debug/set/module/ronx.h) \ + include/linux/list.h \ + $(wildcard include/config/debug/list.h) \ + include/linux/types.h \ + $(wildcard include/config/have/uid16.h) \ + $(wildcard include/config/uid16.h) \ + $(wildcard include/config/lbdaf.h) \ + $(wildcard include/config/arch/dma/addr/t/64bit.h) \ + $(wildcard include/config/phys/addr/t/64bit.h) \ + $(wildcard include/config/64bit.h) \ + include/uapi/linux/types.h \ + arch/arm64/include/generated/asm/types.h \ + /root/tegra/include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + /root/tegra/arch/arm64/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + /root/tegra/include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler.h \ + $(wildcard include/config/sparse/rcu/pointer.h) \ + $(wildcard include/config/trace/branch/profiling.h) \ + $(wildcard include/config/profile/all/branches.h) \ + $(wildcard include/config/enable/must/check.h) \ + $(wildcard include/config/enable/warn/deprecated.h) \ + $(wildcard include/config/kprobes.h) \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/arch/supports/optimized/inlining.h) \ + $(wildcard include/config/optimize/inlining.h) \ + $(wildcard include/config/gcov/kernel.h) \ + $(wildcard include/config/arch/use/builtin/bswap.h) \ + arch/arm64/include/generated/asm/posix_types.h \ + /root/tegra/include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/illegal/pointer/value.h) \ + /root/tegra/include/uapi/linux/const.h \ + include/linux/stat.h \ + /root/tegra/arch/arm64/include/asm/stat.h \ + $(wildcard include/config/compat.h) \ + /root/tegra/arch/arm64/include/uapi/asm/stat.h \ + /root/tegra/include/uapi/asm-generic/stat.h \ + /root/tegra/arch/arm64/include/asm/compat.h \ + include/linux/sched.h \ + $(wildcard include/config/sched/debug.h) \ + $(wildcard include/config/prove/rcu.h) \ + $(wildcard include/config/no/hz/common.h) \ + $(wildcard include/config/lockup/detector.h) \ + $(wildcard include/config/mmu.h) \ + $(wildcard include/config/core/dump/default/elf/headers.h) \ + $(wildcard include/config/sched/autogroup.h) \ + $(wildcard include/config/virt/cpu/accounting/native.h) \ + $(wildcard include/config/bsd/process/acct.h) \ + $(wildcard include/config/taskstats.h) \ + $(wildcard include/config/audit.h) \ + $(wildcard include/config/cgroups.h) \ + $(wildcard include/config/inotify/user.h) \ + $(wildcard include/config/fanotify.h) \ + $(wildcard include/config/epoll.h) \ + $(wildcard include/config/posix/mqueue.h) \ + $(wildcard include/config/keys.h) \ + $(wildcard include/config/perf/events.h) \ + $(wildcard include/config/schedstats.h) \ + $(wildcard include/config/task/delay/acct.h) \ + $(wildcard include/config/fair/group/sched.h) \ + $(wildcard include/config/rt/group/sched.h) \ + $(wildcard include/config/cgroup/sched.h) \ + $(wildcard include/config/preempt/notifiers.h) \ + $(wildcard include/config/blk/dev/io/trace.h) \ + $(wildcard include/config/preempt/rcu.h) \ + $(wildcard include/config/tree/preempt/rcu.h) \ + $(wildcard include/config/rcu/boost.h) \ + $(wildcard include/config/compat/brk.h) \ + $(wildcard include/config/cc/stackprotector.h) \ + $(wildcard include/config/virt/cpu/accounting/gen.h) \ + $(wildcard include/config/sysvipc.h) \ + $(wildcard include/config/detect/hung/task.h) \ + $(wildcard include/config/auditsyscall.h) \ + $(wildcard include/config/rt/mutexes.h) \ + $(wildcard include/config/debug/mutexes.h) \ + $(wildcard include/config/trace/irqflags.h) \ + $(wildcard include/config/lockdep.h) \ + $(wildcard include/config/block.h) \ + $(wildcard include/config/task/xacct.h) \ + $(wildcard include/config/cpusets.h) \ + $(wildcard include/config/futex.h) \ + $(wildcard include/config/numa.h) \ + $(wildcard include/config/numa/balancing.h) \ + $(wildcard include/config/fault/injection.h) \ + $(wildcard include/config/latencytop.h) \ + $(wildcard include/config/function/graph/tracer.h) \ + $(wildcard include/config/memcg.h) \ + $(wildcard include/config/have/hw/breakpoint.h) \ + $(wildcard include/config/uprobes.h) \ + $(wildcard include/config/bcache.h) \ + $(wildcard include/config/cpumask/offstack.h) \ + $(wildcard include/config/have/unstable/sched/clock.h) \ + $(wildcard include/config/irq/time/accounting.h) \ + $(wildcard include/config/hotplug/cpu.h) \ + $(wildcard include/config/no/hz/full.h) \ + $(wildcard include/config/proc/fs.h) \ + $(wildcard include/config/stack/growsup.h) \ + $(wildcard include/config/debug/stack/usage.h) \ + $(wildcard include/config/preempt/count.h) \ + $(wildcard include/config/preempt.h) \ + $(wildcard include/config/mm/owner.h) \ + include/uapi/linux/sched.h \ + /root/tegra/arch/arm64/include/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/hz.h) \ + include/uapi/asm-generic/param.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/threads.h \ + $(wildcard include/config/nr/cpus.h) \ + $(wildcard include/config/base/small.h) \ + include/linux/kernel.h \ + $(wildcard include/config/preempt/voluntary.h) \ + $(wildcard include/config/debug/atomic/sleep.h) \ + $(wildcard include/config/prove/locking.h) \ + $(wildcard include/config/ring/buffer.h) \ + /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9/include/stdarg.h \ + include/linux/linkage.h \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/have/underscore/symbol/prefix.h) \ + $(wildcard include/config/modversions.h) \ + /root/tegra/arch/arm64/include/asm/linkage.h \ + include/linux/bitops.h \ + /root/tegra/arch/arm64/include/asm/bitops.h \ + /root/tegra/arch/arm64/include/asm/barrier.h \ + include/asm-generic/bitops/builtin-__ffs.h \ + include/asm-generic/bitops/builtin-ffs.h \ + include/asm-generic/bitops/builtin-__fls.h \ + include/asm-generic/bitops/builtin-fls.h \ + include/asm-generic/bitops/ffz.h \ + include/asm-generic/bitops/fls64.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/generic/find/first/bit.h) \ + include/asm-generic/bitops/sched.h \ + include/asm-generic/bitops/hweight.h \ + include/asm-generic/bitops/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/lock.h \ + include/asm-generic/bitops/non-atomic.h \ + include/asm-generic/bitops/le.h \ + /root/tegra/arch/arm64/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/arm64/include/generated/asm/swab.h \ + /root/tegra/include/uapi/asm-generic/swab.h \ + include/linux/byteorder/generic.h \ + include/linux/log2.h \ + $(wildcard include/config/arch/has/ilog2/u32.h) \ + $(wildcard include/config/arch/has/ilog2/u64.h) \ + include/linux/typecheck.h \ + include/linux/printk.h \ + $(wildcard include/config/early/printk.h) \ + $(wildcard include/config/printk.h) \ + $(wildcard include/config/dynamic/debug.h) \ + include/linux/init.h \ + $(wildcard include/config/broken/rodata.h) \ + include/linux/kern_levels.h \ + include/linux/dynamic_debug.h \ + include/uapi/linux/kernel.h \ + /root/tegra/include/uapi/linux/sysinfo.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + include/linux/time.h \ + $(wildcard include/config/arch/uses/gettimeoffset.h) \ + include/linux/cache.h \ + $(wildcard include/config/arch/has/cache/line/size.h) \ + /root/tegra/arch/arm64/include/asm/cache.h \ + include/linux/seqlock.h \ + include/linux/spinlock.h \ + $(wildcard include/config/debug/spinlock.h) \ + $(wildcard include/config/generic/lockbreak.h) \ + $(wildcard include/config/debug/lock/alloc.h) \ + include/linux/preempt.h \ + $(wildcard include/config/debug/preempt.h) \ + $(wildcard include/config/preempt/tracer.h) \ + $(wildcard include/config/context/tracking.h) \ + arch/arm64/include/generated/asm/preempt.h \ + include/asm-generic/preempt.h \ + include/linux/thread_info.h \ + include/linux/bug.h \ + arch/arm64/include/generated/asm/bug.h \ + include/asm-generic/bug.h \ + $(wildcard include/config/bug.h) \ + $(wildcard include/config/generic/bug/relative/pointers.h) \ + $(wildcard include/config/debug/bugverbose.h) \ + /root/tegra/arch/arm64/include/asm/relaxed.h \ + /root/tegra/arch/arm64/include/asm/atomic.h \ + /root/tegra/arch/arm64/include/asm/cmpxchg.h \ + include/asm-generic/relaxed.h \ + /root/tegra/arch/arm64/include/asm/thread_info.h \ + $(wildcard include/config/arm64/64k/pages.h) \ + include/linux/irqflags.h \ + $(wildcard include/config/irqsoff/tracer.h) \ + $(wildcard include/config/trace/irqflags/support.h) \ + /root/tegra/arch/arm64/include/asm/irqflags.h \ + /root/tegra/arch/arm64/include/asm/ptrace.h \ + /root/tegra/arch/arm64/include/uapi/asm/ptrace.h \ + /root/tegra/arch/arm64/include/asm/hwcap.h \ + /root/tegra/arch/arm64/include/uapi/asm/hwcap.h \ + include/linux/bottom_half.h \ + include/linux/spinlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock_types.h \ + $(wildcard include/config/arm64/simple/spinlock.h) \ + include/linux/lockdep.h \ + $(wildcard include/config/lock/stat.h) \ + include/linux/rwlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock.h \ + /root/tegra/arch/arm64/include/asm/processor.h \ + include/linux/string.h \ + $(wildcard include/config/binary/printf.h) \ + include/uapi/linux/string.h \ + /root/tegra/arch/arm64/include/asm/string.h \ + /root/tegra/arch/arm64/include/asm/fpsimd.h \ + /root/tegra/arch/arm64/include/asm/hw_breakpoint.h \ + include/asm-generic/processor.h \ + include/linux/rwlock.h \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/inline/spin/lock.h) \ + $(wildcard include/config/inline/spin/lock/bh.h) \ + $(wildcard include/config/inline/spin/lock/irq.h) \ + $(wildcard include/config/inline/spin/lock/irqsave.h) \ + $(wildcard include/config/inline/spin/trylock.h) \ + $(wildcard include/config/inline/spin/trylock/bh.h) \ + $(wildcard include/config/uninline/spin/unlock.h) \ + $(wildcard include/config/inline/spin/unlock/bh.h) \ + $(wildcard include/config/inline/spin/unlock/irq.h) \ + $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/inline/read/lock.h) \ + $(wildcard include/config/inline/write/lock.h) \ + $(wildcard include/config/inline/read/lock/bh.h) \ + $(wildcard include/config/inline/write/lock/bh.h) \ + $(wildcard include/config/inline/read/lock/irq.h) \ + $(wildcard include/config/inline/write/lock/irq.h) \ + $(wildcard include/config/inline/read/lock/irqsave.h) \ + $(wildcard include/config/inline/write/lock/irqsave.h) \ + $(wildcard include/config/inline/read/trylock.h) \ + $(wildcard include/config/inline/write/trylock.h) \ + $(wildcard include/config/inline/read/unlock.h) \ + $(wildcard include/config/inline/write/unlock.h) \ + $(wildcard include/config/inline/read/unlock/bh.h) \ + $(wildcard include/config/inline/write/unlock/bh.h) \ + $(wildcard include/config/inline/read/unlock/irq.h) \ + $(wildcard include/config/inline/write/unlock/irq.h) \ + $(wildcard include/config/inline/read/unlock/irqrestore.h) \ + $(wildcard include/config/inline/write/unlock/irqrestore.h) \ + include/linux/atomic.h \ + $(wildcard include/config/arch/has/atomic/or.h) \ + $(wildcard include/config/generic/atomic64.h) \ + include/asm-generic/atomic-long.h \ + include/linux/math64.h \ + arch/arm64/include/generated/asm/div64.h \ + include/asm-generic/div64.h \ + include/uapi/linux/time.h \ + /root/tegra/include/uapi/linux/param.h \ + /root/tegra/arch/arm64/include/asm/timex.h \ + /root/tegra/arch/arm64/include/asm/arch_timer.h \ + include/clocksource/arm_arch_timer.h \ + $(wildcard include/config/arm/arch/timer.h) \ + include/linux/clocksource.h \ + $(wildcard include/config/arch/clocksource/data.h) \ + $(wildcard include/config/clocksource/watchdog.h) \ + $(wildcard include/config/clksrc/of.h) \ + include/linux/timer.h \ + $(wildcard include/config/timer/stats.h) \ + $(wildcard include/config/debug/objects/timers.h) \ + include/linux/ktime.h \ + $(wildcard include/config/ktime/scalar.h) \ + include/linux/jiffies.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/debug/objects.h) \ + $(wildcard include/config/debug/objects/free.h) \ + /root/tegra/arch/arm64/include/asm/io.h \ + /root/tegra/arch/arm64/include/asm/pgtable.h \ + /root/tegra/arch/arm64/include/asm/proc-fns.h \ + /root/tegra/arch/arm64/include/asm/page.h \ + $(wildcard include/config/have/arch/pfn/valid.h) \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-types.h \ + include/asm-generic/pgtable-nopud.h \ + /root/tegra/arch/arm64/include/asm/memory.h \ + $(wildcard include/config/need/mach/memory/h.h) \ + arch/arm64/include/generated/asm/sizes.h \ + include/asm-generic/sizes.h \ + include/linux/sizes.h \ + arch/arm/mach-tegra/include/mach/memory.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/flatmem.h) \ + $(wildcard include/config/discontigmem.h) \ + $(wildcard include/config/sparsemem/vmemmap.h) \ + $(wildcard include/config/sparsemem.h) \ + include/asm-generic/getorder.h \ + /root/tegra/arch/arm64/include/asm/pgtable-hwdef.h \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-hwdef.h \ + include/asm-generic/pgtable.h \ + $(wildcard include/config/transparent/hugepage.h) \ + $(wildcard include/config/arch/uses/numa/prot/none.h) \ + include/linux/mm_types.h \ + $(wildcard include/config/split/ptlock/cpus.h) \ + $(wildcard include/config/have/cmpxchg/double.h) \ + $(wildcard include/config/have/aligned/struct/page.h) \ + $(wildcard include/config/want/page/debug/flags.h) \ + $(wildcard include/config/kmemcheck.h) \ + $(wildcard include/config/aio.h) \ + $(wildcard include/config/mmu/notifier.h) \ + $(wildcard include/config/compaction.h) \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + /root/tegra/arch/arm64/include/uapi/asm/auxvec.h \ + include/linux/rbtree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/rwsem/generic/spinlock.h) \ + include/linux/rwsem-spinlock.h \ + include/linux/completion.h \ + include/linux/wait.h \ + arch/arm64/include/generated/asm/current.h \ + include/asm-generic/current.h \ + include/uapi/linux/wait.h \ + include/linux/cpumask.h \ + $(wildcard include/config/debug/per/cpu/maps.h) \ + $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ + include/linux/bitmap.h \ + include/linux/page-debug-flags.h \ + $(wildcard include/config/page/poisoning.h) \ + $(wildcard include/config/page/guard.h) \ + $(wildcard include/config/page/debug/something/else.h) \ + include/linux/uprobes.h \ + $(wildcard include/config/arch/supports/uprobes.h) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + arch/arm64/include/generated/asm/errno.h \ + /root/tegra/include/uapi/asm-generic/errno.h \ + /root/tegra/include/uapi/asm-generic/errno-base.h \ + include/linux/page-flags-layout.h \ + include/linux/numa.h \ + $(wildcard include/config/nodes/shift.h) \ + include/generated/bounds.h \ + /root/tegra/arch/arm64/include/asm/sparsemem.h \ + /root/tegra/arch/arm64/include/asm/mmu.h \ + include/asm-generic/iomap.h \ + $(wildcard include/config/has/ioport.h) \ + $(wildcard include/config/pci.h) \ + $(wildcard include/config/generic/iomap.h) \ + include/asm-generic/pci_iomap.h \ + $(wildcard include/config/no/generic/pci/ioport/map.h) \ + $(wildcard include/config/generic/pci/iomap.h) \ + include/asm-generic/timex.h \ + include/linux/nodemask.h \ + $(wildcard include/config/highmem.h) \ + $(wildcard include/config/movable/node.h) \ + arch/arm64/include/generated/asm/cputime.h \ + include/asm-generic/cputime.h \ + $(wildcard include/config/virt/cpu/accounting.h) \ + include/asm-generic/cputime_jiffies.h \ + include/linux/smp.h \ + /root/tegra/arch/arm64/include/asm/smp.h \ + include/linux/sem.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/rcu/torture/test.h) \ + $(wildcard include/config/tree/rcu.h) \ + $(wildcard include/config/rcu/trace.h) \ + $(wildcard include/config/rcu/user/qs.h) \ + $(wildcard include/config/tiny/rcu.h) \ + $(wildcard include/config/tiny/preempt/rcu.h) \ + $(wildcard include/config/debug/objects/rcu/head.h) \ + $(wildcard include/config/rcu/nocb/cpu.h) \ + include/linux/rcutree.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/linux/uidgid.h \ + $(wildcard include/config/uidgid/strict/type/checks.h) \ + $(wildcard include/config/user/ns.h) \ + include/linux/highuid.h \ + include/uapi/linux/ipc.h \ + arch/arm64/include/generated/asm/ipcbuf.h \ + /root/tegra/include/uapi/asm-generic/ipcbuf.h \ + arch/arm64/include/generated/asm/sembuf.h \ + /root/tegra/include/uapi/asm-generic/sembuf.h \ + include/linux/signal.h \ + $(wildcard include/config/old/sigaction.h) \ + include/uapi/linux/signal.h \ + /root/tegra/arch/arm64/include/uapi/asm/signal.h \ + include/asm-generic/signal.h \ + include/uapi/asm-generic/signal.h \ + /root/tegra/include/uapi/asm-generic/signal-defs.h \ + /root/tegra/arch/arm64/include/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/siginfo.h \ + include/asm-generic/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/pid.h \ + include/linux/percpu.h \ + $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ + $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ + $(wildcard include/config/have/setup/per/cpu/area.h) \ + include/linux/pfn.h \ + arch/arm64/include/generated/asm/percpu.h \ + include/asm-generic/percpu.h \ + include/linux/percpu-defs.h \ + $(wildcard include/config/debug/force/weak/per/cpu.h) \ + include/linux/topology.h \ + $(wildcard include/config/sched/smt.h) \ + $(wildcard include/config/sched/mc.h) \ + $(wildcard include/config/sched/book.h) \ + $(wildcard include/config/use/percpu/numa/node/id.h) \ + $(wildcard include/config/have/memoryless/nodes.h) \ + include/linux/mmzone.h \ + $(wildcard include/config/force/max/zoneorder.h) \ + $(wildcard include/config/cma.h) \ + $(wildcard include/config/memory/isolation.h) \ + $(wildcard include/config/zone/dma.h) \ + $(wildcard include/config/zone/dma32.h) \ + $(wildcard include/config/memory/hotplug.h) \ + $(wildcard include/config/have/memblock/node/map.h) \ + $(wildcard include/config/flat/node/mem/map.h) \ + $(wildcard include/config/no/bootmem.h) \ + $(wildcard include/config/have/memory/present.h) \ + $(wildcard include/config/need/node/memmap/size.h) \ + $(wildcard include/config/need/multiple/nodes.h) \ + $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ + $(wildcard include/config/sparsemem/extreme.h) \ + $(wildcard include/config/nodes/span/other/nodes.h) \ + $(wildcard include/config/holes/in/zone.h) \ + $(wildcard include/config/arch/has/holes/memorymodel.h) \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/hugetlb/page.h) \ + $(wildcard include/config/hugetlb/page/size/variable.h) \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/memory/hotremove.h) \ + $(wildcard include/config/have/arch/nodedata/extension.h) \ + $(wildcard include/config/have/bootmem/info/node.h) \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/mutex/spin/on/owner.h) \ + $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ + include/linux/srcu.h \ + include/linux/workqueue.h \ + $(wildcard include/config/debug/objects/work.h) \ + $(wildcard include/config/freezer.h) \ + arch/arm64/include/generated/asm/topology.h \ + include/asm-generic/topology.h \ + include/linux/proportions.h \ + include/linux/percpu_counter.h \ + include/linux/seccomp.h \ + $(wildcard include/config/seccomp.h) \ + $(wildcard include/config/seccomp/filter.h) \ + include/uapi/linux/seccomp.h \ + /root/tegra/arch/arm64/include/asm/seccomp.h \ + /root/tegra/arch/arm64/include/asm/unistd.h \ + /root/tegra/arch/arm64/include/uapi/asm/unistd.h \ + include/asm-generic/unistd.h \ + include/uapi/asm-generic/unistd.h \ + include/asm-generic/seccomp.h \ + include/linux/rculist.h \ + include/linux/rtmutex.h \ + $(wildcard include/config/debug/rt/mutexes.h) \ + include/linux/plist.h \ + $(wildcard include/config/debug/pi/list.h) \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + arch/arm64/include/generated/asm/resource.h \ + include/asm-generic/resource.h \ + include/uapi/asm-generic/resource.h \ + include/linux/hrtimer.h \ + $(wildcard include/config/high/res/timers.h) \ + $(wildcard include/config/timerfd.h) \ + include/linux/timerqueue.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/task/io/accounting.h) \ + include/linux/latencytop.h \ + include/linux/cred.h \ + $(wildcard include/config/debug/credentials.h) \ + $(wildcard include/config/security.h) \ + include/linux/key.h \ + $(wildcard include/config/sysctl.h) \ + include/linux/sysctl.h \ + include/uapi/linux/sysctl.h \ + include/linux/selinux.h \ + $(wildcard include/config/security/selinux.h) \ + include/linux/llist.h \ + $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ + include/linux/gfp.h \ + $(wildcard include/config/pm/sleep.h) \ + include/linux/mmdebug.h \ + $(wildcard include/config/debug/vm.h) \ + $(wildcard include/config/debug/virtual.h) \ + include/linux/ptrace.h \ + include/linux/err.h \ + include/linux/pid_namespace.h \ + $(wildcard include/config/pid/ns.h) \ + include/linux/mm.h \ + $(wildcard include/config/have/arch/mmap/rnd/bits.h) \ + $(wildcard include/config/have/arch/mmap/rnd/compat/bits.h) \ + $(wildcard include/config/x86.h) \ + $(wildcard include/config/ppc.h) \ + $(wildcard include/config/parisc.h) \ + $(wildcard include/config/metag.h) \ + $(wildcard include/config/ia64.h) \ + $(wildcard include/config/ksm.h) \ + $(wildcard include/config/debug/vm/rb.h) \ + $(wildcard include/config/debug/pagealloc.h) \ + $(wildcard include/config/hibernation.h) \ + $(wildcard include/config/hugetlbfs.h) \ + include/linux/debug_locks.h \ + $(wildcard include/config/debug/locking/api/selftests.h) \ + include/linux/range.h \ + include/linux/bit_spinlock.h \ + include/linux/shrinker.h \ + include/linux/page-flags.h \ + $(wildcard include/config/pageflags/extended.h) \ + $(wildcard include/config/arch/uses/pg/uncached.h) \ + $(wildcard include/config/memory/failure.h) \ + $(wildcard include/config/swap.h) \ + include/linux/huge_mm.h \ + include/linux/vmstat.h \ + $(wildcard include/config/vm/event/counters.h) \ + include/linux/vm_event_item.h \ + $(wildcard include/config/migration.h) \ + include/linux/nsproxy.h \ + include/linux/kref.h \ + include/uapi/linux/ptrace.h \ + include/uapi/linux/stat.h \ + include/linux/kmod.h \ + include/linux/elf.h \ + /root/tegra/arch/arm64/include/asm/elf.h \ + arch/arm64/include/generated/asm/user.h \ + include/asm-generic/user.h \ + include/uapi/linux/elf.h \ + /root/tegra/include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + include/linux/sysfs.h \ + include/linux/kobject_ns.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/alpha.h) \ + $(wildcard include/config/ppc64.h) \ + include/linux/tracepoint.h \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/jump/label.h) \ + /root/tegra/arch/arm64/include/asm/jump_label.h \ + /root/tegra/arch/arm64/include/asm/insn.h \ + /root/tegra/arch/arm64/include/asm/module.h \ + include/asm-generic/module.h \ + $(wildcard include/config/have/mod/arch/specific.h) \ + $(wildcard include/config/modules/use/elf/rel.h) \ + $(wildcard include/config/modules/use/elf/rela.h) \ + include/linux/vermagic.h \ + include/generated/utsrelease.h \ + +/root/android/my_test/01_day/module_2.mod.o: $(deps_/root/android/my_test/01_day/module_2.mod.o) + +$(deps_/root/android/my_test/01_day/module_2.mod.o): diff --git a/01_day/.module_2.o.cmd b/01_day/.module_2.o.cmd new file mode 100644 index 0000000..f08c32f --- /dev/null +++ b/01_day/.module_2.o.cmd @@ -0,0 +1,605 @@ +cmd_/root/android/my_test/01_day/module_2.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.module_2.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(module_2)" -D"KBUILD_MODNAME=KBUILD_STR(module_2)" -c -o /root/android/my_test/01_day/module_2.o /root/android/my_test/01_day/module_2.c + +source_/root/android/my_test/01_day/module_2.o := /root/android/my_test/01_day/module_2.c + +deps_/root/android/my_test/01_day/module_2.o := \ + include/linux/module.h \ + $(wildcard include/config/sysfs.h) \ + $(wildcard include/config/modules.h) \ + $(wildcard include/config/unused/symbols.h) \ + $(wildcard include/config/module/sig.h) \ + $(wildcard include/config/generic/bug.h) \ + $(wildcard include/config/kallsyms.h) \ + $(wildcard include/config/smp.h) \ + $(wildcard include/config/tracepoints.h) \ + $(wildcard include/config/tracing.h) \ + $(wildcard include/config/event/tracing.h) \ + $(wildcard include/config/ftrace/mcount/record.h) \ + $(wildcard include/config/module/unload.h) \ + $(wildcard include/config/constructors.h) \ + $(wildcard include/config/debug/set/module/ronx.h) \ + include/linux/list.h \ + $(wildcard include/config/debug/list.h) \ + include/linux/types.h \ + $(wildcard include/config/have/uid16.h) \ + $(wildcard include/config/uid16.h) \ + $(wildcard include/config/lbdaf.h) \ + $(wildcard include/config/arch/dma/addr/t/64bit.h) \ + $(wildcard include/config/phys/addr/t/64bit.h) \ + $(wildcard include/config/64bit.h) \ + include/uapi/linux/types.h \ + arch/arm64/include/generated/asm/types.h \ + /root/tegra/include/uapi/asm-generic/types.h \ + include/asm-generic/int-ll64.h \ + include/uapi/asm-generic/int-ll64.h \ + /root/tegra/arch/arm64/include/uapi/asm/bitsperlong.h \ + include/asm-generic/bitsperlong.h \ + include/uapi/asm-generic/bitsperlong.h \ + /root/tegra/include/uapi/linux/posix_types.h \ + include/linux/stddef.h \ + include/uapi/linux/stddef.h \ + include/linux/compiler.h \ + $(wildcard include/config/sparse/rcu/pointer.h) \ + $(wildcard include/config/trace/branch/profiling.h) \ + $(wildcard include/config/profile/all/branches.h) \ + $(wildcard include/config/enable/must/check.h) \ + $(wildcard include/config/enable/warn/deprecated.h) \ + $(wildcard include/config/kprobes.h) \ + include/linux/compiler-gcc.h \ + $(wildcard include/config/arch/supports/optimized/inlining.h) \ + $(wildcard include/config/optimize/inlining.h) \ + $(wildcard include/config/gcov/kernel.h) \ + $(wildcard include/config/arch/use/builtin/bswap.h) \ + arch/arm64/include/generated/asm/posix_types.h \ + /root/tegra/include/uapi/asm-generic/posix_types.h \ + include/linux/poison.h \ + $(wildcard include/config/illegal/pointer/value.h) \ + /root/tegra/include/uapi/linux/const.h \ + include/linux/stat.h \ + /root/tegra/arch/arm64/include/asm/stat.h \ + $(wildcard include/config/compat.h) \ + /root/tegra/arch/arm64/include/uapi/asm/stat.h \ + /root/tegra/include/uapi/asm-generic/stat.h \ + /root/tegra/arch/arm64/include/asm/compat.h \ + include/linux/sched.h \ + $(wildcard include/config/sched/debug.h) \ + $(wildcard include/config/prove/rcu.h) \ + $(wildcard include/config/no/hz/common.h) \ + $(wildcard include/config/lockup/detector.h) \ + $(wildcard include/config/mmu.h) \ + $(wildcard include/config/core/dump/default/elf/headers.h) \ + $(wildcard include/config/sched/autogroup.h) \ + $(wildcard include/config/virt/cpu/accounting/native.h) \ + $(wildcard include/config/bsd/process/acct.h) \ + $(wildcard include/config/taskstats.h) \ + $(wildcard include/config/audit.h) \ + $(wildcard include/config/cgroups.h) \ + $(wildcard include/config/inotify/user.h) \ + $(wildcard include/config/fanotify.h) \ + $(wildcard include/config/epoll.h) \ + $(wildcard include/config/posix/mqueue.h) \ + $(wildcard include/config/keys.h) \ + $(wildcard include/config/perf/events.h) \ + $(wildcard include/config/schedstats.h) \ + $(wildcard include/config/task/delay/acct.h) \ + $(wildcard include/config/fair/group/sched.h) \ + $(wildcard include/config/rt/group/sched.h) \ + $(wildcard include/config/cgroup/sched.h) \ + $(wildcard include/config/preempt/notifiers.h) \ + $(wildcard include/config/blk/dev/io/trace.h) \ + $(wildcard include/config/preempt/rcu.h) \ + $(wildcard include/config/tree/preempt/rcu.h) \ + $(wildcard include/config/rcu/boost.h) \ + $(wildcard include/config/compat/brk.h) \ + $(wildcard include/config/cc/stackprotector.h) \ + $(wildcard include/config/virt/cpu/accounting/gen.h) \ + $(wildcard include/config/sysvipc.h) \ + $(wildcard include/config/detect/hung/task.h) \ + $(wildcard include/config/auditsyscall.h) \ + $(wildcard include/config/rt/mutexes.h) \ + $(wildcard include/config/debug/mutexes.h) \ + $(wildcard include/config/trace/irqflags.h) \ + $(wildcard include/config/lockdep.h) \ + $(wildcard include/config/block.h) \ + $(wildcard include/config/task/xacct.h) \ + $(wildcard include/config/cpusets.h) \ + $(wildcard include/config/futex.h) \ + $(wildcard include/config/numa.h) \ + $(wildcard include/config/numa/balancing.h) \ + $(wildcard include/config/fault/injection.h) \ + $(wildcard include/config/latencytop.h) \ + $(wildcard include/config/function/graph/tracer.h) \ + $(wildcard include/config/memcg.h) \ + $(wildcard include/config/have/hw/breakpoint.h) \ + $(wildcard include/config/uprobes.h) \ + $(wildcard include/config/bcache.h) \ + $(wildcard include/config/cpumask/offstack.h) \ + $(wildcard include/config/have/unstable/sched/clock.h) \ + $(wildcard include/config/irq/time/accounting.h) \ + $(wildcard include/config/hotplug/cpu.h) \ + $(wildcard include/config/no/hz/full.h) \ + $(wildcard include/config/proc/fs.h) \ + $(wildcard include/config/stack/growsup.h) \ + $(wildcard include/config/debug/stack/usage.h) \ + $(wildcard include/config/preempt/count.h) \ + $(wildcard include/config/preempt.h) \ + $(wildcard include/config/mm/owner.h) \ + include/uapi/linux/sched.h \ + /root/tegra/arch/arm64/include/uapi/asm/param.h \ + include/asm-generic/param.h \ + $(wildcard include/config/hz.h) \ + include/uapi/asm-generic/param.h \ + include/linux/capability.h \ + include/uapi/linux/capability.h \ + include/linux/threads.h \ + $(wildcard include/config/nr/cpus.h) \ + $(wildcard include/config/base/small.h) \ + include/linux/kernel.h \ + $(wildcard include/config/preempt/voluntary.h) \ + $(wildcard include/config/debug/atomic/sleep.h) \ + $(wildcard include/config/prove/locking.h) \ + $(wildcard include/config/ring/buffer.h) \ + /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9/include/stdarg.h \ + include/linux/linkage.h \ + include/linux/stringify.h \ + include/linux/export.h \ + $(wildcard include/config/have/underscore/symbol/prefix.h) \ + $(wildcard include/config/modversions.h) \ + /root/tegra/arch/arm64/include/asm/linkage.h \ + include/linux/bitops.h \ + /root/tegra/arch/arm64/include/asm/bitops.h \ + /root/tegra/arch/arm64/include/asm/barrier.h \ + include/asm-generic/bitops/builtin-__ffs.h \ + include/asm-generic/bitops/builtin-ffs.h \ + include/asm-generic/bitops/builtin-__fls.h \ + include/asm-generic/bitops/builtin-fls.h \ + include/asm-generic/bitops/ffz.h \ + include/asm-generic/bitops/fls64.h \ + include/asm-generic/bitops/find.h \ + $(wildcard include/config/generic/find/first/bit.h) \ + include/asm-generic/bitops/sched.h \ + include/asm-generic/bitops/hweight.h \ + include/asm-generic/bitops/arch_hweight.h \ + include/asm-generic/bitops/const_hweight.h \ + include/asm-generic/bitops/lock.h \ + include/asm-generic/bitops/non-atomic.h \ + include/asm-generic/bitops/le.h \ + /root/tegra/arch/arm64/include/uapi/asm/byteorder.h \ + include/linux/byteorder/little_endian.h \ + include/uapi/linux/byteorder/little_endian.h \ + include/linux/swab.h \ + include/uapi/linux/swab.h \ + arch/arm64/include/generated/asm/swab.h \ + /root/tegra/include/uapi/asm-generic/swab.h \ + include/linux/byteorder/generic.h \ + include/linux/log2.h \ + $(wildcard include/config/arch/has/ilog2/u32.h) \ + $(wildcard include/config/arch/has/ilog2/u64.h) \ + include/linux/typecheck.h \ + include/linux/printk.h \ + $(wildcard include/config/early/printk.h) \ + $(wildcard include/config/printk.h) \ + $(wildcard include/config/dynamic/debug.h) \ + include/linux/init.h \ + $(wildcard include/config/broken/rodata.h) \ + include/linux/kern_levels.h \ + include/linux/dynamic_debug.h \ + include/uapi/linux/kernel.h \ + /root/tegra/include/uapi/linux/sysinfo.h \ + include/linux/timex.h \ + include/uapi/linux/timex.h \ + include/linux/time.h \ + $(wildcard include/config/arch/uses/gettimeoffset.h) \ + include/linux/cache.h \ + $(wildcard include/config/arch/has/cache/line/size.h) \ + /root/tegra/arch/arm64/include/asm/cache.h \ + include/linux/seqlock.h \ + include/linux/spinlock.h \ + $(wildcard include/config/debug/spinlock.h) \ + $(wildcard include/config/generic/lockbreak.h) \ + $(wildcard include/config/debug/lock/alloc.h) \ + include/linux/preempt.h \ + $(wildcard include/config/debug/preempt.h) \ + $(wildcard include/config/preempt/tracer.h) \ + $(wildcard include/config/context/tracking.h) \ + arch/arm64/include/generated/asm/preempt.h \ + include/asm-generic/preempt.h \ + include/linux/thread_info.h \ + include/linux/bug.h \ + arch/arm64/include/generated/asm/bug.h \ + include/asm-generic/bug.h \ + $(wildcard include/config/bug.h) \ + $(wildcard include/config/generic/bug/relative/pointers.h) \ + $(wildcard include/config/debug/bugverbose.h) \ + /root/tegra/arch/arm64/include/asm/relaxed.h \ + /root/tegra/arch/arm64/include/asm/atomic.h \ + /root/tegra/arch/arm64/include/asm/cmpxchg.h \ + include/asm-generic/relaxed.h \ + /root/tegra/arch/arm64/include/asm/thread_info.h \ + $(wildcard include/config/arm64/64k/pages.h) \ + include/linux/irqflags.h \ + $(wildcard include/config/irqsoff/tracer.h) \ + $(wildcard include/config/trace/irqflags/support.h) \ + /root/tegra/arch/arm64/include/asm/irqflags.h \ + /root/tegra/arch/arm64/include/asm/ptrace.h \ + /root/tegra/arch/arm64/include/uapi/asm/ptrace.h \ + /root/tegra/arch/arm64/include/asm/hwcap.h \ + /root/tegra/arch/arm64/include/uapi/asm/hwcap.h \ + include/linux/bottom_half.h \ + include/linux/spinlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock_types.h \ + $(wildcard include/config/arm64/simple/spinlock.h) \ + include/linux/lockdep.h \ + $(wildcard include/config/lock/stat.h) \ + include/linux/rwlock_types.h \ + /root/tegra/arch/arm64/include/asm/spinlock.h \ + /root/tegra/arch/arm64/include/asm/processor.h \ + include/linux/string.h \ + $(wildcard include/config/binary/printf.h) \ + include/uapi/linux/string.h \ + /root/tegra/arch/arm64/include/asm/string.h \ + /root/tegra/arch/arm64/include/asm/fpsimd.h \ + /root/tegra/arch/arm64/include/asm/hw_breakpoint.h \ + include/asm-generic/processor.h \ + include/linux/rwlock.h \ + include/linux/spinlock_api_smp.h \ + $(wildcard include/config/inline/spin/lock.h) \ + $(wildcard include/config/inline/spin/lock/bh.h) \ + $(wildcard include/config/inline/spin/lock/irq.h) \ + $(wildcard include/config/inline/spin/lock/irqsave.h) \ + $(wildcard include/config/inline/spin/trylock.h) \ + $(wildcard include/config/inline/spin/trylock/bh.h) \ + $(wildcard include/config/uninline/spin/unlock.h) \ + $(wildcard include/config/inline/spin/unlock/bh.h) \ + $(wildcard include/config/inline/spin/unlock/irq.h) \ + $(wildcard include/config/inline/spin/unlock/irqrestore.h) \ + include/linux/rwlock_api_smp.h \ + $(wildcard include/config/inline/read/lock.h) \ + $(wildcard include/config/inline/write/lock.h) \ + $(wildcard include/config/inline/read/lock/bh.h) \ + $(wildcard include/config/inline/write/lock/bh.h) \ + $(wildcard include/config/inline/read/lock/irq.h) \ + $(wildcard include/config/inline/write/lock/irq.h) \ + $(wildcard include/config/inline/read/lock/irqsave.h) \ + $(wildcard include/config/inline/write/lock/irqsave.h) \ + $(wildcard include/config/inline/read/trylock.h) \ + $(wildcard include/config/inline/write/trylock.h) \ + $(wildcard include/config/inline/read/unlock.h) \ + $(wildcard include/config/inline/write/unlock.h) \ + $(wildcard include/config/inline/read/unlock/bh.h) \ + $(wildcard include/config/inline/write/unlock/bh.h) \ + $(wildcard include/config/inline/read/unlock/irq.h) \ + $(wildcard include/config/inline/write/unlock/irq.h) \ + $(wildcard include/config/inline/read/unlock/irqrestore.h) \ + $(wildcard include/config/inline/write/unlock/irqrestore.h) \ + include/linux/atomic.h \ + $(wildcard include/config/arch/has/atomic/or.h) \ + $(wildcard include/config/generic/atomic64.h) \ + include/asm-generic/atomic-long.h \ + include/linux/math64.h \ + arch/arm64/include/generated/asm/div64.h \ + include/asm-generic/div64.h \ + include/uapi/linux/time.h \ + /root/tegra/include/uapi/linux/param.h \ + /root/tegra/arch/arm64/include/asm/timex.h \ + /root/tegra/arch/arm64/include/asm/arch_timer.h \ + include/clocksource/arm_arch_timer.h \ + $(wildcard include/config/arm/arch/timer.h) \ + include/linux/clocksource.h \ + $(wildcard include/config/arch/clocksource/data.h) \ + $(wildcard include/config/clocksource/watchdog.h) \ + $(wildcard include/config/clksrc/of.h) \ + include/linux/timer.h \ + $(wildcard include/config/timer/stats.h) \ + $(wildcard include/config/debug/objects/timers.h) \ + include/linux/ktime.h \ + $(wildcard include/config/ktime/scalar.h) \ + include/linux/jiffies.h \ + include/linux/debugobjects.h \ + $(wildcard include/config/debug/objects.h) \ + $(wildcard include/config/debug/objects/free.h) \ + /root/tegra/arch/arm64/include/asm/io.h \ + /root/tegra/arch/arm64/include/asm/pgtable.h \ + /root/tegra/arch/arm64/include/asm/proc-fns.h \ + /root/tegra/arch/arm64/include/asm/page.h \ + $(wildcard include/config/have/arch/pfn/valid.h) \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-types.h \ + include/asm-generic/pgtable-nopud.h \ + /root/tegra/arch/arm64/include/asm/memory.h \ + $(wildcard include/config/need/mach/memory/h.h) \ + arch/arm64/include/generated/asm/sizes.h \ + include/asm-generic/sizes.h \ + include/linux/sizes.h \ + arch/arm/mach-tegra/include/mach/memory.h \ + include/asm-generic/memory_model.h \ + $(wildcard include/config/flatmem.h) \ + $(wildcard include/config/discontigmem.h) \ + $(wildcard include/config/sparsemem/vmemmap.h) \ + $(wildcard include/config/sparsemem.h) \ + include/asm-generic/getorder.h \ + /root/tegra/arch/arm64/include/asm/pgtable-hwdef.h \ + /root/tegra/arch/arm64/include/asm/pgtable-3level-hwdef.h \ + include/asm-generic/pgtable.h \ + $(wildcard include/config/transparent/hugepage.h) \ + $(wildcard include/config/arch/uses/numa/prot/none.h) \ + include/linux/mm_types.h \ + $(wildcard include/config/split/ptlock/cpus.h) \ + $(wildcard include/config/have/cmpxchg/double.h) \ + $(wildcard include/config/have/aligned/struct/page.h) \ + $(wildcard include/config/want/page/debug/flags.h) \ + $(wildcard include/config/kmemcheck.h) \ + $(wildcard include/config/aio.h) \ + $(wildcard include/config/mmu/notifier.h) \ + $(wildcard include/config/compaction.h) \ + include/linux/auxvec.h \ + include/uapi/linux/auxvec.h \ + /root/tegra/arch/arm64/include/uapi/asm/auxvec.h \ + include/linux/rbtree.h \ + include/linux/rwsem.h \ + $(wildcard include/config/rwsem/generic/spinlock.h) \ + include/linux/rwsem-spinlock.h \ + include/linux/completion.h \ + include/linux/wait.h \ + arch/arm64/include/generated/asm/current.h \ + include/asm-generic/current.h \ + include/uapi/linux/wait.h \ + include/linux/cpumask.h \ + $(wildcard include/config/debug/per/cpu/maps.h) \ + $(wildcard include/config/disable/obsolete/cpumask/functions.h) \ + include/linux/bitmap.h \ + include/linux/page-debug-flags.h \ + $(wildcard include/config/page/poisoning.h) \ + $(wildcard include/config/page/guard.h) \ + $(wildcard include/config/page/debug/something/else.h) \ + include/linux/uprobes.h \ + $(wildcard include/config/arch/supports/uprobes.h) \ + include/linux/errno.h \ + include/uapi/linux/errno.h \ + arch/arm64/include/generated/asm/errno.h \ + /root/tegra/include/uapi/asm-generic/errno.h \ + /root/tegra/include/uapi/asm-generic/errno-base.h \ + include/linux/page-flags-layout.h \ + include/linux/numa.h \ + $(wildcard include/config/nodes/shift.h) \ + include/generated/bounds.h \ + /root/tegra/arch/arm64/include/asm/sparsemem.h \ + /root/tegra/arch/arm64/include/asm/mmu.h \ + include/asm-generic/iomap.h \ + $(wildcard include/config/has/ioport.h) \ + $(wildcard include/config/pci.h) \ + $(wildcard include/config/generic/iomap.h) \ + include/asm-generic/pci_iomap.h \ + $(wildcard include/config/no/generic/pci/ioport/map.h) \ + $(wildcard include/config/generic/pci/iomap.h) \ + include/asm-generic/timex.h \ + include/linux/nodemask.h \ + $(wildcard include/config/highmem.h) \ + $(wildcard include/config/movable/node.h) \ + arch/arm64/include/generated/asm/cputime.h \ + include/asm-generic/cputime.h \ + $(wildcard include/config/virt/cpu/accounting.h) \ + include/asm-generic/cputime_jiffies.h \ + include/linux/smp.h \ + /root/tegra/arch/arm64/include/asm/smp.h \ + include/linux/sem.h \ + include/linux/rcupdate.h \ + $(wildcard include/config/rcu/torture/test.h) \ + $(wildcard include/config/tree/rcu.h) \ + $(wildcard include/config/rcu/trace.h) \ + $(wildcard include/config/rcu/user/qs.h) \ + $(wildcard include/config/tiny/rcu.h) \ + $(wildcard include/config/tiny/preempt/rcu.h) \ + $(wildcard include/config/debug/objects/rcu/head.h) \ + $(wildcard include/config/rcu/nocb/cpu.h) \ + include/linux/rcutree.h \ + include/uapi/linux/sem.h \ + include/linux/ipc.h \ + include/linux/uidgid.h \ + $(wildcard include/config/uidgid/strict/type/checks.h) \ + $(wildcard include/config/user/ns.h) \ + include/linux/highuid.h \ + include/uapi/linux/ipc.h \ + arch/arm64/include/generated/asm/ipcbuf.h \ + /root/tegra/include/uapi/asm-generic/ipcbuf.h \ + arch/arm64/include/generated/asm/sembuf.h \ + /root/tegra/include/uapi/asm-generic/sembuf.h \ + include/linux/signal.h \ + $(wildcard include/config/old/sigaction.h) \ + include/uapi/linux/signal.h \ + /root/tegra/arch/arm64/include/uapi/asm/signal.h \ + include/asm-generic/signal.h \ + include/uapi/asm-generic/signal.h \ + /root/tegra/include/uapi/asm-generic/signal-defs.h \ + /root/tegra/arch/arm64/include/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/sigcontext.h \ + /root/tegra/arch/arm64/include/uapi/asm/siginfo.h \ + include/asm-generic/siginfo.h \ + include/uapi/asm-generic/siginfo.h \ + include/linux/pid.h \ + include/linux/percpu.h \ + $(wildcard include/config/need/per/cpu/embed/first/chunk.h) \ + $(wildcard include/config/need/per/cpu/page/first/chunk.h) \ + $(wildcard include/config/have/setup/per/cpu/area.h) \ + include/linux/pfn.h \ + arch/arm64/include/generated/asm/percpu.h \ + include/asm-generic/percpu.h \ + include/linux/percpu-defs.h \ + $(wildcard include/config/debug/force/weak/per/cpu.h) \ + include/linux/topology.h \ + $(wildcard include/config/sched/smt.h) \ + $(wildcard include/config/sched/mc.h) \ + $(wildcard include/config/sched/book.h) \ + $(wildcard include/config/use/percpu/numa/node/id.h) \ + $(wildcard include/config/have/memoryless/nodes.h) \ + include/linux/mmzone.h \ + $(wildcard include/config/force/max/zoneorder.h) \ + $(wildcard include/config/cma.h) \ + $(wildcard include/config/memory/isolation.h) \ + $(wildcard include/config/zone/dma.h) \ + $(wildcard include/config/zone/dma32.h) \ + $(wildcard include/config/memory/hotplug.h) \ + $(wildcard include/config/have/memblock/node/map.h) \ + $(wildcard include/config/flat/node/mem/map.h) \ + $(wildcard include/config/no/bootmem.h) \ + $(wildcard include/config/have/memory/present.h) \ + $(wildcard include/config/need/node/memmap/size.h) \ + $(wildcard include/config/need/multiple/nodes.h) \ + $(wildcard include/config/have/arch/early/pfn/to/nid.h) \ + $(wildcard include/config/sparsemem/extreme.h) \ + $(wildcard include/config/nodes/span/other/nodes.h) \ + $(wildcard include/config/holes/in/zone.h) \ + $(wildcard include/config/arch/has/holes/memorymodel.h) \ + include/linux/pageblock-flags.h \ + $(wildcard include/config/hugetlb/page.h) \ + $(wildcard include/config/hugetlb/page/size/variable.h) \ + include/linux/memory_hotplug.h \ + $(wildcard include/config/memory/hotremove.h) \ + $(wildcard include/config/have/arch/nodedata/extension.h) \ + $(wildcard include/config/have/bootmem/info/node.h) \ + include/linux/notifier.h \ + include/linux/mutex.h \ + $(wildcard include/config/mutex/spin/on/owner.h) \ + $(wildcard include/config/have/arch/mutex/cpu/relax.h) \ + include/linux/srcu.h \ + include/linux/workqueue.h \ + $(wildcard include/config/debug/objects/work.h) \ + $(wildcard include/config/freezer.h) \ + arch/arm64/include/generated/asm/topology.h \ + include/asm-generic/topology.h \ + include/linux/proportions.h \ + include/linux/percpu_counter.h \ + include/linux/seccomp.h \ + $(wildcard include/config/seccomp.h) \ + $(wildcard include/config/seccomp/filter.h) \ + include/uapi/linux/seccomp.h \ + /root/tegra/arch/arm64/include/asm/seccomp.h \ + /root/tegra/arch/arm64/include/asm/unistd.h \ + /root/tegra/arch/arm64/include/uapi/asm/unistd.h \ + include/asm-generic/unistd.h \ + include/uapi/asm-generic/unistd.h \ + include/asm-generic/seccomp.h \ + include/linux/rculist.h \ + include/linux/rtmutex.h \ + $(wildcard include/config/debug/rt/mutexes.h) \ + include/linux/plist.h \ + $(wildcard include/config/debug/pi/list.h) \ + include/linux/resource.h \ + include/uapi/linux/resource.h \ + arch/arm64/include/generated/asm/resource.h \ + include/asm-generic/resource.h \ + include/uapi/asm-generic/resource.h \ + include/linux/hrtimer.h \ + $(wildcard include/config/high/res/timers.h) \ + $(wildcard include/config/timerfd.h) \ + include/linux/timerqueue.h \ + include/linux/task_io_accounting.h \ + $(wildcard include/config/task/io/accounting.h) \ + include/linux/latencytop.h \ + include/linux/cred.h \ + $(wildcard include/config/debug/credentials.h) \ + $(wildcard include/config/security.h) \ + include/linux/key.h \ + $(wildcard include/config/sysctl.h) \ + include/linux/sysctl.h \ + include/uapi/linux/sysctl.h \ + include/linux/selinux.h \ + $(wildcard include/config/security/selinux.h) \ + include/linux/llist.h \ + $(wildcard include/config/arch/have/nmi/safe/cmpxchg.h) \ + include/linux/gfp.h \ + $(wildcard include/config/pm/sleep.h) \ + include/linux/mmdebug.h \ + $(wildcard include/config/debug/vm.h) \ + $(wildcard include/config/debug/virtual.h) \ + include/linux/ptrace.h \ + include/linux/err.h \ + include/linux/pid_namespace.h \ + $(wildcard include/config/pid/ns.h) \ + include/linux/mm.h \ + $(wildcard include/config/have/arch/mmap/rnd/bits.h) \ + $(wildcard include/config/have/arch/mmap/rnd/compat/bits.h) \ + $(wildcard include/config/x86.h) \ + $(wildcard include/config/ppc.h) \ + $(wildcard include/config/parisc.h) \ + $(wildcard include/config/metag.h) \ + $(wildcard include/config/ia64.h) \ + $(wildcard include/config/ksm.h) \ + $(wildcard include/config/debug/vm/rb.h) \ + $(wildcard include/config/debug/pagealloc.h) \ + $(wildcard include/config/hibernation.h) \ + $(wildcard include/config/hugetlbfs.h) \ + include/linux/debug_locks.h \ + $(wildcard include/config/debug/locking/api/selftests.h) \ + include/linux/range.h \ + include/linux/bit_spinlock.h \ + include/linux/shrinker.h \ + include/linux/page-flags.h \ + $(wildcard include/config/pageflags/extended.h) \ + $(wildcard include/config/arch/uses/pg/uncached.h) \ + $(wildcard include/config/memory/failure.h) \ + $(wildcard include/config/swap.h) \ + include/linux/huge_mm.h \ + include/linux/vmstat.h \ + $(wildcard include/config/vm/event/counters.h) \ + include/linux/vm_event_item.h \ + $(wildcard include/config/migration.h) \ + include/linux/nsproxy.h \ + include/linux/kref.h \ + include/uapi/linux/ptrace.h \ + include/uapi/linux/stat.h \ + include/linux/kmod.h \ + include/linux/elf.h \ + /root/tegra/arch/arm64/include/asm/elf.h \ + arch/arm64/include/generated/asm/user.h \ + include/asm-generic/user.h \ + include/uapi/linux/elf.h \ + /root/tegra/include/uapi/linux/elf-em.h \ + include/linux/kobject.h \ + include/linux/sysfs.h \ + include/linux/kobject_ns.h \ + include/linux/moduleparam.h \ + $(wildcard include/config/alpha.h) \ + $(wildcard include/config/ppc64.h) \ + include/linux/tracepoint.h \ + include/linux/static_key.h \ + include/linux/jump_label.h \ + $(wildcard include/config/jump/label.h) \ + /root/tegra/arch/arm64/include/asm/jump_label.h \ + /root/tegra/arch/arm64/include/asm/insn.h \ + /root/tegra/arch/arm64/include/asm/module.h \ + include/asm-generic/module.h \ + $(wildcard include/config/have/mod/arch/specific.h) \ + $(wildcard include/config/modules/use/elf/rel.h) \ + $(wildcard include/config/modules/use/elf/rela.h) \ + include/linux/gpio.h \ + $(wildcard include/config/gpiolib.h) \ + $(wildcard include/config/arch/have/custom/gpio/h.h) \ + /root/tegra/arch/arm64/include/asm/gpio.h \ + $(wildcard include/config/arch/nr/gpio.h) \ + $(wildcard include/config/need/mach/gpio/h.h) \ + include/asm-generic/gpio.h \ + $(wildcard include/config/of/gpio.h) \ + $(wildcard include/config/of.h) \ + $(wildcard include/config/pinctrl.h) \ + $(wildcard include/config/gpio/sysfs.h) \ + include/linux/of.h \ + $(wildcard include/config/sparc.h) \ + $(wildcard include/config/of/dynamic.h) \ + $(wildcard include/config/attach/node.h) \ + $(wildcard include/config/detach/node.h) \ + $(wildcard include/config/add/property.h) \ + $(wildcard include/config/remove/property.h) \ + $(wildcard include/config/update/property.h) \ + $(wildcard include/config/proc/devicetree.h) \ + include/linux/mod_devicetable.h \ + include/linux/uuid.h \ + include/uapi/linux/uuid.h \ + /root/tegra/arch/arm64/include/asm/prom.h \ + include/linux/pinctrl/pinctrl.h \ + include/linux/radix-tree.h \ + include/linux/seq_file.h \ + include/linux/pinctrl/pinctrl-state.h \ + +/root/android/my_test/01_day/module_2.o: $(deps_/root/android/my_test/01_day/module_2.o) + +$(deps_/root/android/my_test/01_day/module_2.o): diff --git a/01_day/.tmp_versions/module_2.mod b/01_day/.tmp_versions/module_2.mod new file mode 100644 index 0000000..885c5be --- /dev/null +++ b/01_day/.tmp_versions/module_2.mod @@ -0,0 +1,2 @@ +/root/android/my_test/01_day/module_2.ko +/root/android/my_test/01_day/module_2.o diff --git a/01_day/Makefile b/01_day/Makefile new file mode 100644 index 0000000..47f3e8c --- /dev/null +++ b/01_day/Makefile @@ -0,0 +1,4 @@ +obj-m = module_2.o + +default : + make -C /root/tegra SUBDIRS=/root/android/my_test/01_day modules diff --git a/01_day/Module.symvers b/01_day/Module.symvers new file mode 100644 index 0000000..e69de29 diff --git a/01_day/module_1.c b/01_day/module_1.c new file mode 100644 index 0000000..84ded9a --- /dev/null +++ b/01_day/module_1.c @@ -0,0 +1,17 @@ +#include // init_module, cleanup_module +#include // printk +#include // gpio_get_value + +int init_module(void) +{ + int ret; + printk("init_module\n"); + ret = __gpio_get_value( 170 ); + printk("ret=%d\n", ret ); + return 0; +} + +void cleanup_module(void) +{ + printk("cleanup_module\n"); +} diff --git a/01_day/module_1.ko b/01_day/module_1.ko new file mode 100644 index 0000000000000000000000000000000000000000..76fb5da89c499da7cc75a15bed8bc8b28eda546e GIT binary patch literal 112800 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 literal 0 HcmV?d00001 diff --git a/01_day/module_1.mod.c b/01_day/module_1.mod.c new file mode 100644 index 0000000..ffd1624 --- /dev/null +++ b/01_day/module_1.mod.c @@ -0,0 +1,21 @@ +#include +#include +#include + +MODULE_INFO(vermagic, VERMAGIC_STRING); + +struct module __this_module +__attribute__((section(".gnu.linkonce.this_module"))) = { + .name = KBUILD_MODNAME, + .init = init_module, +#ifdef CONFIG_MODULE_UNLOAD + .exit = cleanup_module, +#endif + .arch = MODULE_ARCH_INIT, +}; + +static const char __module_depends[] +__used +__attribute__((section(".modinfo"))) = +"depends="; + diff --git a/01_day/module_1.mod.o b/01_day/module_1.mod.o new file mode 100644 index 0000000000000000000000000000000000000000..5f3be75892a71f5813907b1a100188c3bc976017 GIT binary patch literal 64304 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 >KIfj|Xnab4&=ap+5Xw?x!|+0Nb&-0IrM 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 literal 0 HcmV?d00001 diff --git a/01_day/module_1.o b/01_day/module_1.o new file mode 100644 index 0000000000000000000000000000000000000000..faf1e333925fb8e56996182e690ec432f6576e85 GIT binary patch literal 49936 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 hwzM@W#ZtXF3?zjbJ3bw6?P~n(F= // init_module, cleanup_module +#include // printk +#include // gpio_get_value + +int init_module(void) +{ + int ret; + printk("init_module\n"); + ret = __gpio_get_value( 170 ); + printk("ret=%d\n", ret ); + return 0; +} + +void cleanup_module(void) +{ + printk("cleanup_module\n"); +} + +MODULE_LICENSE("GPL"); diff --git a/01_day/module_2.ko b/01_day/module_2.ko new file mode 100644 index 0000000000000000000000000000000000000000..7a16ad7d56123b88d1128e669158202d8e56fc4b GIT binary patch literal 119632 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 +#include +#include + +MODULE_INFO(vermagic, VERMAGIC_STRING); + +struct module __this_module +__attribute__((section(".gnu.linkonce.this_module"))) = { + .name = KBUILD_MODNAME, + .init = init_module, +#ifdef CONFIG_MODULE_UNLOAD + .exit = cleanup_module, +#endif + .arch = MODULE_ARCH_INIT, +}; + +static const char __module_depends[] +__used +__attribute__((section(".modinfo"))) = +"depends="; + diff --git a/01_day/module_2.mod.o b/01_day/module_2.mod.o new file mode 100644 index 0000000000000000000000000000000000000000..7f260f62d57c1f6f639d753567c8597d1eec5228 GIT binary patch literal 64304 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 JN?dLG{|6CmZv_AV literal 0 HcmV?d00001 diff --git a/01_day/module_2.o b/01_day/module_2.o new file mode 100644 index 0000000000000000000000000000000000000000..53f1e102c1afb47700d5d989359cb08d4d78f494 GIT binary patch literal 56864 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 JmHDy#{~zcSB*Opz literal 0 HcmV?d00001 diff --git a/01_day/modules.order b/01_day/modules.order new file mode 100644 index 0000000..dc0f6a0 --- /dev/null +++ b/01_day/modules.order @@ -0,0 +1 @@ +kernel//root/android/my_test/01_day/module_2.ko