How to build a Linux kernel and flash it to the phone

Since the launch of the unlock boot loader site, we have received a lot of really great feedback. The Sony Ericsson Developer Program wants to continue to build on this open dialogue with external developers.

Developers and advanced users can now unlock the boot loader, which is the first step to be able to flash your own image. Now we have seen quite a few comments in different forums like the XDA forum, where developers run into problems when building their own image, and and trying to flash the image using Fastboot. With the help of our Master Software Architect, James Jacobsson, we put together a short article on how to do this.

Before moving on, we’d like to remind you again that there is no turning back when unlocking the boot loader. You may void the warranty of the phone, and you will not be able to revert the phone to a locked or original state if you unlock it.

What is the Linux kernel?
The Xperia™ line of smartphones run on the Android™, the mobile operating system based on the Linux kernel. Though it is only a small part of the operating system, the kernel ensures that all other processes in the system are synchronized to work together properly.

Why rebuild the kernel?
Rebuilding the kernel enables end users to make modifications to their devices that are normally not intended by the device manufacturer, such as theming the device by changing system icons and removing/modifying system components. Please note that Sony Ericsson is not recommending this.

Considerations before building your own kernel and reflashing your device
As mentioned in the beginning of this article, the first step is to unlock the boot loader. When the boot loader is unlocked, the sensitive data is removed, such as DRM certificates, and the user partition of the file system is wiped out. But all other functionality, such as the camera and other drivers, is left intact. Please note that content, like music files, that require the DRM certificate will not be accessible any more. But most importantly, you may void the warranty of your phone if you decide to unlock it. Aside from the considerations mentioned above, the functionality is there, just waiting for you to take advantage of it. So, if you’re ready, here’s how to get started.

Building the kernel
It takes a few main steps to build the kernel. Below we’ll show you how to build a Linux kernel and flash it onto the device.

Step A – Download the necessary software
Download the following software to get started:

  • The kernel source code can be downloaded from the copyleft archives on Sony Ericsson Developer World. You can use the file called 3.0.A.2.181_182.tar.bz2 for our Android™ Gingerbread devices. This is the source code for the Linux kernel as used in the Xperia™ PLAY.
  • The Fastboot client which is part of the Android SDK. This is the standard Android flashing utility. This allows you to flash the image you are about to create onto the device.
  • The Init RAM disk. The initial RAM disk (also known as the initrd) is the initial filesystem that the kernel will mount and start running processes off. You can configure the Init RAM disk to grant root access. How you create or download your own Init RAM disk is beyond the scope of this article.
  • The ARM cross-compiler. A cross-compiler is used to build ARM binaries on a different architecture, such as x86. This allows you to compile software (such as the kernel) into a format that the device can run. We recommend getting the CodeSourcery Lite compiler, especially the GNU/Linux variant, as you’ll need that if you want to build binaries for a full-blown Linux system on the device later. However, any EABI ARM compiler capable of compiling the Linux kernel should be enough for this step.

Step B – Building the kernel
To build the kernel, you first need to unpack the kernel. Once you’ve unpacked the kernel, you need to configure it, and then build it. The example below is based on you using the file called 3.0.A.2.181_182.tar.bz2.

1. Go into the kernel directory:

cd kernel

2. Configure the kernel:
ARCH=arm CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-eabi- make semc_zeus_defconfig

Note: Replace:
/opt/arm-2010q1

with where you installed your cross-compiler. Also, this example is for Xperia™ PLAY. Replace:
defconfig

with the following values depending on what device you want to configure it for:

Xperia™ PLAYsemc_zeus_defconfig
Xperia™ arcsemc_anzu_defconfig
Xperia™ neosemc_hallon_defconfig

3. Build the kernel:

ARCH=arm CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-eabi- make

Replace:
/opt/arm-2010q1

with where you installed your cross-compiler. Once done, you should have a compressed kernel-image in arch/arm/boot/zImage.

Step C – Getting a RAM disk
The RAM disk is the initial filesystem the kernel will mount before transferring control to userspace. How you create your own root filesystem is beyond the scope of this article, but you can use the following instructions to pack/unpack the file.

Unpacking (you have ramdisk.img, and want to create a directory of files out of it):

gzip -d - < ramdisk.img > cpio -idm

Packing (You have directory of files, and want to create ramdisk.img from it):
find . | cpio --quiet -H newc -o | gzip > ramdisk.img

Step D – Assembling the boot.img
Now that we have all the parts we need to create a flashable file. The next stop is to package the parts. To do this, you’ll need the program mkbootimg, which is part of the standard Android tree. If you don’t feel like compiling all of Android to get this tool, it is available to download from various trusted sites on the Internet.

Once you have the tool, this is the command to combine your kernel and RAM disk into a flashable file:

mkbootimg --base 0x00200000 --kernel kernel/arch/arm/boot/zImage --ramdisk ramdisk.img -o boot.img

Step E – Flashing the file
You should flash the file using Fastboot. If you’ve unlocked the boot loader on your device, you already have Fastboot.

1. To flash the boot.img file, use the following the command:

fastboot –i 0x0fce flash boot boot.img

2. Now, it will prompt you to connect your device. To do so, follow these simple steps:

  1. Make sure your device is powered down.
  2. Hold down the Search button (Xperia™ PLAY only) or the Back button (all other Xperia™ devices). The device’s notification light should shine blue to confirm it’s in Fastboot mode.
  3. Connect the USB cable.
  4. Flashing should now start and complete.

3. As a last step in the process, you need to reboot the device. You can either remove the USB cable and battery to power the device down. If you prefer, you can instead issue the following command (either method will work):

fastboot –i 0x0fce reboot

Important information!
Sony Ericsson does not guarantee any support on this, but we will monitor the Building the Linux kernel for Xperia phones thread on the XDA Developers forum. However, we cannot guarantee an answer for every question asked in this forum.

Additional information for experienced Linux kernel experts
The kernel is pretty standard, all the regular things you’re used to is there, and available to use. Things that are different are the memory config and the kernel commandline. The memory config is hardcoded (i.e., ATAGs aren’t used for this). It’s set in the board-file for your target, such as kernel/arch/arm/mach-msm/board-semc_zeus.c in the function msm7x30_fixup. The kernel commandline is also not fetched from the boot.img file, but compiled into the kernel (CONFIG_CMDLINE). Some arguments are also added from the boot loader.

Additional information if porting non-Linux format files to the device
The boot loader will accept any reasonably formatted boot.img file. For example, at the Android Kernel Git, you will see the format of the boot.img file. This allows you to create a boot.img file containing two loadable files (kernel+ramdisk), which will get loaded into RAM. Once the boot loader is loaded, it passes the control to the first instruction of the loaded kernel image. After control is passed, the kernel can rely on the data contained in the RAM disk already being loaded.

More information: 

Comments 100

Sort by: Newest | Oldest | Most popular

  1. By ajay kumar

    #1

    Norton.com/setup Online Help – Step by Step guide for Norton Setup, Download & complete installation online. We are providing independent support service if in case you face problem to activate or Setup Norton product.
    http://norton-setup-help.com

  2. By ajay kumar

    #2

    Norton Reinstall – Norton has developed a Norton reinstall and removal tool to provides the ease of Un-installation and Re-installation. The Norton Antivirus offers you the protection from the malware, viruses, and other online threats like identity theft and data theft while shop online.
    http://norton.com-setup.uk/norton-reinstall/

  3. By ajay kumar

    #3

    Pogo Support – Call 1-844-456-8733 (US/CA) or 01444 39 0119 (UK) for Pogo-related issues. Any errors or issues will be fixed by us related to Pogo Games.
    http://contactassistance.com/pogo-support/

  4. By ajay kumar

    #4

    mcafee.com/activate Online Help – Step by Step guide for mcafee activate, Download & complete installation online. We are providing independent support service if in case you face problem to activate or Setup mcafee product.
    http://mcafeecomactivate.in

  5. By ajay kumar

    #5

    office.com/setup Online Help – Step by Step guide for Office Setup, Download & complete installation online. We are providing independent support service if in case you face problem to activate or Setup Office product.
    http://officesetupcom.com

  6. By ajay kumar

    #6

    Norton.com/setup Online Help – Step by Step guide for Norton Setup, Download & complete installation online. We are providing independent support service if in case you face problem to activate or Setup Norton product.
    http://setup-activate.com

  7. By Sakshi Verma

    #8

    Thanks for sharing this marvelous post. I m very pleased to read this article.Antivirus Guides

  8. By Rocky Gupta

    #9

    A kernel is a computer program that is the core of a computer’s operating system with complete control over everything in the system. After bootup, the system is another thing which is necessary for our operating system. There is some problem occur in window l, Mac etc. If you face any technical problem regarding KERNEL in windows like INpage Error and any other error so you can contact our team. visit this link getting more information.
    https://notresponding.net/pvp-kernel-patch-error/

  9. By Kushang Gonawala

    #10

    Kushangs-MacBook-Pro:kernel Kushang$ make
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h’ is up to date.
    CALL scripts/checksyscalls.sh
    CHK include/generated/compile.h
    CHK kernel/config_data.h
    CC net/bluetooth/hci_conn.o
    CC net/bluetooth/hci_event.o
    CC net/bluetooth/mgmt.o
    CC net/bluetooth/hci_sock.o
    CC net/bluetooth/hci_sysfs.o
    CC net/bluetooth/l2cap_core.o
    CC net/bluetooth/l2cap_sock.o
    CC net/bluetooth/smp.o
    CC net/bluetooth/sco.o
    CC net/bluetooth/lib.o
    CC net/bluetooth/amp.o
    LD net/bluetooth/bluetooth.o
    CC net/bluetooth/bnep/core.o
    CC net/bluetooth/bnep/sock.o
    CC net/bluetooth/bnep/netdev.o
    LD net/bluetooth/bnep/bnep.o
    LD net/bluetooth/bnep/built-in.o
    CC net/bluetooth/hidp/core.o
    CC net/bluetooth/hidp/sock.o
    LD net/bluetooth/hidp/hidp.o
    LD net/bluetooth/hidp/built-in.o
    CC net/bluetooth/rfcomm/core.o
    CC net/bluetooth/rfcomm/sock.o
    CC net/bluetooth/rfcomm/tty.o
    LD net/bluetooth/rfcomm/rfcomm.o
    LD net/bluetooth/rfcomm/built-in.o
    LD net/bluetooth/built-in.o
    CC net/bridge/br.o
    CC net/bridge/br_device.o
    CC net/bridge/br_fdb.o
    CC net/bridge/br_forward.o
    CC net/bridge/br_if.o
    CC net/bridge/br_input.o
    CC net/bridge/br_ioctl.o
    CC net/bridge/br_notify.o
    CC net/bridge/br_stp.o
    CC net/bridge/br_stp_bpdu.o
    CC net/bridge/br_stp_if.o
    CC net/bridge/br_stp_timer.o
    CC net/bridge/br_netlink.o
    CC net/bridge/br_sysfs_if.o
    CC net/bridge/br_sysfs_br.o
    CC net/bridge/br_netfilter.o
    CC net/bridge/br_multicast.o
    LD net/bridge/bridge.o
    CC net/bridge/netfilter/ebtables.o
    CC net/bridge/netfilter/ebtable_broute.o
    LD net/bridge/netfilter/built-in.o
    LD net/bridge/built-in.o
    CC net/core/sock.o
    CC net/core/request_sock.o
    CC net/core/skbuff.o
    CC net/core/iovec.o
    CC net/core/datagram.o
    CC net/core/stream.o
    CC net/core/scm.o
    CC net/core/gen_stats.o
    CC net/core/gen_estimator.o
    CC net/core/net_namespace.o
    CC net/core/secure_seq.o
    CC net/core/flow_dissector.o
    CC net/core/sysctl_net_core.o
    CC net/core/dev.o
    CC net/core/ethtool.o
    CC net/core/dev_addr_lists.o
    CC net/core/dst.o
    CC net/core/netevent.o
    CC net/core/neighbour.o
    CC net/core/rtnetlink.o
    CC net/core/utils.o
    CC net/core/link_watch.o
    CC net/core/filter.o
    CC net/core/sock_diag.o
    CC net/core/flow.o
    CC net/core/net-sysfs.o
    CC net/core/fib_rules.o
    CC net/core/net-traces.o
    LD net/core/built-in.o
    CC net/ethernet/eth.o
    LD net/ethernet/built-in.o
    CC net/ipv4/route.o
    CC net/ipv4/inetpeer.o
    CC net/ipv4/protocol.o
    CC net/ipv4/ip_input.o
    CC net/ipv4/ip_fragment.o
    CC net/ipv4/ip_forward.o
    CC net/ipv4/ip_options.o
    CC net/ipv4/ip_output.o
    CC net/ipv4/ip_sockglue.o
    CC net/ipv4/inet_hashtables.o
    CC net/ipv4/inet_timewait_sock.o
    CC net/ipv4/inet_connection_sock.o
    CC net/ipv4/tcp.o
    CC net/ipv4/tcp_input.o
    CC net/ipv4/tcp_output.o
    CC net/ipv4/tcp_timer.o
    CC net/ipv4/tcp_ipv4.o
    CC net/ipv4/tcp_minisocks.o
    CC net/ipv4/tcp_cong.o
    CC net/ipv4/datagram.o
    CC net/ipv4/raw.o
    CC net/ipv4/udp.o
    CC net/ipv4/udplite.o
    CC net/ipv4/arp.o
    CC net/ipv4/icmp.o
    CC net/ipv4/devinet.o
    CC net/ipv4/af_inet.o
    CC net/ipv4/igmp.o
    CC net/ipv4/fib_frontend.o
    CC net/ipv4/fib_semantics.o
    CC net/ipv4/fib_trie.o
    CC net/ipv4/inet_fragment.o
    CC net/ipv4/ping.o
    CC net/ipv4/sysctl_net_ipv4.o
    CC net/ipv4/sysfs_net_ipv4.o
    CC net/ipv4/proc.o
    CC net/ipv4/fib_rules.o
    CC net/ipv4/ah4.o
    CC net/ipv4/esp4.o
    CC net/ipv4/ipcomp.o
    CC net/ipv4/xfrm4_tunnel.o
    CC net/ipv4/xfrm4_mode_beet.o
    CC net/ipv4/tunnel4.o
    CC net/ipv4/xfrm4_mode_transport.o
    CC net/ipv4/xfrm4_mode_tunnel.o
    CC net/ipv4/ipconfig.o
    CC net/ipv4/netfilter.o
    CC net/ipv4/netfilter/nf_nat_rule.o
    CC net/ipv4/netfilter/nf_nat_standalone.o
    CC net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.o
    CC net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.o
    CC net/ipv4/netfilter/nf_conntrack_proto_icmp.o
    CC net/ipv4/netfilter/nf_nat_core.o
    CC net/ipv4/netfilter/nf_nat_helper.o
    CC net/ipv4/netfilter/nf_nat_proto_unknown.o
    CC net/ipv4/netfilter/nf_nat_proto_common.o
    CC net/ipv4/netfilter/nf_nat_proto_tcp.o
    CC net/ipv4/netfilter/nf_nat_proto_udp.o
    CC net/ipv4/netfilter/nf_nat_proto_icmp.o
    LD net/ipv4/netfilter/nf_conntrack_ipv4.o
    LD net/ipv4/netfilter/nf_nat.o
    CC net/ipv4/netfilter/nf_defrag_ipv4.o
    CC net/ipv4/netfilter/nf_nat_amanda.o
    CC net/ipv4/netfilter/nf_nat_ftp.o
    CC net/ipv4/netfilter/nf_nat_h323.o
    CC net/ipv4/netfilter/nf_nat_irc.o
    CC net/ipv4/netfilter/nf_nat_pptp.o
    CC net/ipv4/netfilter/nf_nat_sip.o
    CC net/ipv4/netfilter/nf_nat_tftp.o
    CC net/ipv4/netfilter/nf_nat_proto_dccp.o
    CC net/ipv4/netfilter/nf_nat_proto_gre.o
    CC net/ipv4/netfilter/nf_nat_proto_udplite.o
    CC net/ipv4/netfilter/nf_nat_proto_sctp.o
    CC net/ipv4/netfilter/ip_tables.o
    CC net/ipv4/netfilter/iptable_filter.o
    CC net/ipv4/netfilter/iptable_mangle.o
    LD net/ipv4/netfilter/iptable_nat.o
    CC net/ipv4/netfilter/iptable_raw.o
    CC net/ipv4/netfilter/iptable_security.o
    CC net/ipv4/netfilter/ipt_ah.o
    CC net/ipv4/netfilter/ipt_MASQUERADE.o
    CC net/ipv4/netfilter/ipt_NETMAP.o
    CC net/ipv4/netfilter/ipt_REDIRECT.o
    CC net/ipv4/netfilter/ipt_REJECT.o
    CC net/ipv4/netfilter/arp_tables.o
    CC net/ipv4/netfilter/arpt_mangle.o
    CC net/ipv4/netfilter/arptable_filter.o
    LD net/ipv4/netfilter/built-in.o
    CC net/ipv4/inet_diag.o
    CC net/ipv4/tcp_diag.o
    CC net/ipv4/tcp_cubic.o
    CC net/ipv4/xfrm4_policy.o
    CC net/ipv4/xfrm4_state.o
    CC net/ipv4/xfrm4_input.o
    CC net/ipv4/xfrm4_output.o
    LD net/ipv4/built-in.o
    CC net/ipv6/af_inet6.o
    CC net/ipv6/anycast.o
    CC net/ipv6/ip6_output.o
    CC net/ipv6/ip6_input.o
    CC net/ipv6/addrconf.o
    CC net/ipv6/addrlabel.o
    CC net/ipv6/route.o
    CC net/ipv6/ip6_fib.o
    CC net/ipv6/ipv6_sockglue.o
    CC net/ipv6/ndisc.o
    CC net/ipv6/udp.o
    CC net/ipv6/udplite.o
    CC net/ipv6/raw.o
    CC net/ipv6/protocol.o
    CC net/ipv6/icmp.o
    CC net/ipv6/mcast.o
    CC net/ipv6/reassembly.o
    CC net/ipv6/tcp_ipv6.o
    CC net/ipv6/ping.o
    CC net/ipv6/exthdrs.o
    CC net/ipv6/datagram.o
    CC net/ipv6/ip6_flowlabel.o
    CC net/ipv6/inet6_connection_sock.o
    CC net/ipv6/sysctl_net_ipv6.o
    CC net/ipv6/xfrm6_policy.o
    CC net/ipv6/xfrm6_state.o
    CC net/ipv6/xfrm6_input.o
    CC net/ipv6/xfrm6_output.o
    CC net/ipv6/netfilter.o
    CC net/ipv6/fib6_rules.o
    CC net/ipv6/proc.o
    LD net/ipv6/ipv6.o
    CC net/ipv6/ah6.o
    CC net/ipv6/esp6.o
    CC net/ipv6/ipcomp6.o
    CC net/ipv6/xfrm6_tunnel.o
    CC net/ipv6/tunnel6.o
    CC net/ipv6/xfrm6_mode_transport.o
    CC net/ipv6/xfrm6_mode_tunnel.o
    CC net/ipv6/xfrm6_mode_beet.o
    CC net/ipv6/mip6.o
    CC net/ipv6/netfilter/ip6_tables.o
    CC net/ipv6/netfilter/ip6table_filter.o
    CC net/ipv6/netfilter/ip6table_mangle.o
    CC net/ipv6/netfilter/ip6table_raw.o
    CC net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.o
    CC net/ipv6/netfilter/nf_conntrack_proto_icmpv6.o
    CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
    CC net/ipv6/netfilter/nf_conntrack_reasm.o
    LD net/ipv6/netfilter/nf_conntrack_ipv6.o
    LD net/ipv6/netfilter/nf_defrag_ipv6.o
    CC net/ipv6/netfilter/ip6t_REJECT.o
    LD net/ipv6/netfilter/built-in.o
    CC net/ipv6/sit.o
    CC net/ipv6/addrconf_core.o
    CC net/ipv6/exthdrs_core.o
    CC net/ipv6/inet6_hashtables.o
    LD net/ipv6/built-in.o
    CC net/key/af_key.o
    LD net/key/built-in.o
    CC net/llc/llc_core.o
    CC net/llc/llc_input.o
    CC net/llc/llc_output.o
    LD net/llc/llc.o
    LD net/llc/built-in.o
    CC net/netfilter/core.o
    CC net/netfilter/nf_log.o
    CC net/netfilter/nf_queue.o
    CC net/netfilter/nf_sockopt.o
    CC net/netfilter/nf_conntrack_core.o
    CC net/netfilter/nf_conntrack_standalone.o
    CC net/netfilter/nf_conntrack_expect.o
    CC net/netfilter/nf_conntrack_helper.o
    CC net/netfilter/nf_conntrack_proto.o
    CC net/netfilter/nf_conntrack_l3proto_generic.o
    CC net/netfilter/nf_conntrack_proto_generic.o
    CC net/netfilter/nf_conntrack_proto_tcp.o
    CC net/netfilter/nf_conntrack_proto_udp.o
    CC net/netfilter/nf_conntrack_extend.o
    CC net/netfilter/nf_conntrack_acct.o
    CC net/netfilter/nf_conntrack_ecache.o
    CC net/netfilter/nf_conntrack_h323_main.o
    CC net/netfilter/nf_conntrack_h323_asn1.o
    LD net/netfilter/netfilter.o
    CC net/netfilter/nfnetlink.o
    CC net/netfilter/nfnetlink_queue.o
    CC net/netfilter/nfnetlink_log.o
    LD net/netfilter/nf_conntrack.o
    CC net/netfilter/nf_conntrack_proto_dccp.o
    CC net/netfilter/nf_conntrack_proto_gre.o
    CC net/netfilter/nf_conntrack_proto_sctp.o
    CC net/netfilter/nf_conntrack_proto_udplite.o
    CC net/netfilter/nf_conntrack_netlink.o
    CC net/netfilter/nf_conntrack_amanda.o
    CC net/netfilter/nf_conntrack_ftp.o
    LD net/netfilter/nf_conntrack_h323.o
    CC net/netfilter/nf_conntrack_irc.o
    CC net/netfilter/nf_conntrack_broadcast.o
    CC net/netfilter/nf_conntrack_netbios_ns.o
    CC net/netfilter/nf_conntrack_pptp.o
    CC net/netfilter/nf_conntrack_sane.o
    CC net/netfilter/nf_conntrack_sip.o
    CC net/netfilter/nf_conntrack_tftp.o
    CC net/netfilter/nf_tproxy_core.o
    CC net/netfilter/x_tables.o
    CC net/netfilter/xt_tcpudp.o
    CC net/netfilter/xt_mark.o
    CC net/netfilter/xt_connmark.o
    CC net/netfilter/xt_CLASSIFY.o
    CC net/netfilter/xt_CONNSECMARK.o
    CC net/netfilter/xt_LOG.o
    CC net/netfilter/xt_NFQUEUE.o
    CC net/netfilter/xt_NOTRACK.o
    CC net/netfilter/xt_SECMARK.o
    make[2]: *** No rule to make target `net/netfilter/xt_TCPMSS.o’, needed by `net/netfilter/built-in.o’. Stop.
    make[1]: *** [net/netfilter] Error 2
    make: *** [net] Error 2
    Kushangs-MacBook-Pro:kernel Kushang$ make
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h’ is up to date.
    CALL scripts/checksyscalls.sh
    CHK include/generated/compile.h
    CHK kernel/config_data.h
    make[2]: *** No rule to make target `net/netfilter/xt_TCPMSS.o’, needed by `net/netfilter/built-in.o’. Stop.
    make[1]: *** [net/netfilter] Error 2
    make: *** [net] Error 2
    Kushangs-MacBook-Pro:kernel Kushang$ make clean
    CLEAN .
    CLEAN arch/arm/kernel
    CLEAN drivers/tty/vt
    CLEAN kernel
    CLEAN security/selinux
    CLEAN usr
    CLEAN .tmp_versions
    Kushangs-MacBook-Pro:kernel Kushang$ make
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    HOSTCC scripts/basic/fixdep
    make[1]: `include/generated/mach-types.h’ is up to date.
    CC kernel/bounds.s
    GEN include/generated/bounds.h
    CC arch/arm/kernel/asm-offsets.s
    GEN include/generated/asm-offsets.h
    CALL scripts/checksyscalls.sh
    HOSTCC scripts/dtc/checks.o
    scripts/dtc/checks.c:627:32: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
    if ((node->parent->addr_cells == -1))
    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
    scripts/dtc/checks.c:627:32: note: remove extraneous parentheses around the comparison to silence this warning
    if ((node->parent->addr_cells == -1))
    ~ ^ ~
    scripts/dtc/checks.c:627:32: note: use ‘=’ to turn this equality comparison into an assignment
    if ((node->parent->addr_cells == -1))
    ^~
    =
    scripts/dtc/checks.c:631:32: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
    if ((node->parent->size_cells == -1))
    ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
    scripts/dtc/checks.c:631:32: note: remove extraneous parentheses around the comparison to silence this warning
    if ((node->parent->size_cells == -1))
    ~ ^ ~
    scripts/dtc/checks.c:631:32: note: use ‘=’ to turn this equality comparison into an assignment
    if ((node->parent->size_cells == -1))
    ^~
    =
    2 warnings generated.
    HOSTCC scripts/dtc/data.o
    HOSTCC scripts/dtc/dtc-lexer.lex.o
    HOSTCC scripts/dtc/dtc-parser.tab.o
    HOSTCC scripts/dtc/dtc.o
    HOSTCC scripts/dtc/flattree.o
    HOSTCC scripts/dtc/fstree.o
    HOSTCC scripts/dtc/livetree.o
    HOSTCC scripts/dtc/srcpos.o
    HOSTCC scripts/dtc/treesource.o
    HOSTCC scripts/dtc/util.o
    HOSTLD scripts/dtc/dtc
    HOSTCC scripts/genksyms/genksyms.o
    HOSTCC scripts/genksyms/lex.lex.o
    HOSTCC scripts/genksyms/parse.tab.o
    HOSTLD scripts/genksyms/genksyms
    CC scripts/mod/empty.o
    HOSTCC scripts/mod/mk_elfconfig
    MKELF scripts/mod/elfconfig.h
    HOSTCC scripts/mod/file2alias.o
    scripts/mod/file2alias.c:84:10: warning: ‘__used’ macro redefined
    # define __used __attribute__((__used__))
    ^
    /usr/include/sys/cdefs.h:146:9: note: previous definition is here
    #define __used __attribute__((used))
    ^
    scripts/mod/file2alias.c:167:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->match_flags&USB_DEVICE_ID_MATCH_VENDOR,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:169:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “p”, id->match_flags&USB_DEVICE_ID_MATCH_PRODUCT,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:196:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “dc”, id->match_flags&USB_DEVICE_ID_MATCH_DEV_CLASS,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:198:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “dsc”,
    ^~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:201:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “dp”,
    ^~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:204:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “ic”,
    ^~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:207:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “isc”,
    ^~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:210:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “ip”,
    ^~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:213:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “in”,
    ^~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:346:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->vendor != HID_ANY_ID, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:347:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “p”, id->product != HID_ANY_ID, id->product);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:364:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “ven”, id->match_flags & IEEE1394_MATCH_VENDOR_ID,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:366:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “mo”, id->match_flags & IEEE1394_MATCH_MODEL_ID,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:368:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “sp”, id->match_flags & IEEE1394_MATCH_SPECIFIER_ID,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:370:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “ver”, id->match_flags & IEEE1394_MATCH_VERSION,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:394:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->vendor != PCI_ANY_ID, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:395:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “d”, id->device != PCI_ANY_ID, id->device);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:396:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “sv”, id->subvendor != PCI_ANY_ID, id->subvendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:397:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “sd”, id->subdevice != PCI_ANY_ID, id->subdevice);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:414:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “bc”, baseclass_mask == 0xFF, baseclass);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:415:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “sc”, subclass_mask == 0xFF, subclass);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:416:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “i”, interface_mask == 0xFF, interface);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:433:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “t”, id->match_flags&CCW_DEVICE_ID_MATCH_CU_TYPE,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:435:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “m”, id->match_flags&CCW_DEVICE_ID_MATCH_CU_MODEL,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:437:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “dt”, id->match_flags&CCW_DEVICE_ID_MATCH_DEVICE_TYPE,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:439:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “dm”, id->match_flags&CCW_DEVICE_ID_MATCH_DEVICE_MODEL,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:474:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “ty”, id->type != SERIO_ANY, id->type);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:475:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “pr”, id->proto != SERIO_ANY, id->proto);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:476:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “id”, id->id != SERIO_ANY, id->id);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:477:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “ex”, id->extra != SERIO_ANY, id->extra);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:596:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “m”, id->match_flags & PCMCIA_DEV_ID_MATCH_MANF_ID,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:598:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “c”, id->match_flags & PCMCIA_DEV_ID_MATCH_CARD_ID,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:600:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “f”, id->match_flags & PCMCIA_DEV_ID_MATCH_FUNC_ID,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:602:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “fn”, id->match_flags & PCMCIA_DEV_ID_MATCH_FUNCTION,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:604:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “pfn”, id->match_flags & PCMCIA_DEV_ID_MATCH_DEVICE_NO,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:606:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “pa”, id->match_flags & PCMCIA_DEV_ID_MATCH_PROD_ID1, id->prod_id_hash[0]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:607:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “pb”, id->match_flags & PCMCIA_DEV_ID_MATCH_PROD_ID2, id->prod_id_hash[1]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:608:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “pc”, id->match_flags & PCMCIA_DEV_ID_MATCH_PROD_ID3, id->prod_id_hash[2]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:609:8: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “pd”, id->match_flags & PCMCIA_DEV_ID_MATCH_PROD_ID4, id->prod_id_hash[3]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:675:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “b”, id->flags & INPUT_DEVICE_ID_MATCH_BUS, id->bustype);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:676:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->flags & INPUT_DEVICE_ID_MATCH_VENDOR, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:677:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “p”, id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT, id->product);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:678:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “e”, id->flags & INPUT_DEVICE_ID_MATCH_VERSION, id->version);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:734:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “t”, id->hw_type != PA_HWTYPE_ANY_ID, id->hw_type);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:735:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “hv”, id->hversion != PA_HVERSION_ANY_ID, id->hversion);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:736:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “rev”, id->hversion_rev != PA_HVERSION_REV_ANY_ID, id->hversion_rev);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:737:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “sv”, id->sversion != PA_SVERSION_ANY_ID, id->sversion);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:753:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “c”, id->class != (__u8)SDIO_ANY_ID, id->class);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:754:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->vendor != (__u16)SDIO_ANY_ID, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:755:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “d”, id->device != (__u16)SDIO_ANY_ID, id->device);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:770:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->vendor != SSB_ANY_VENDOR, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:771:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “id”, id->coreid != SSB_ANY_ID, id->coreid);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:772:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “rev”, id->revision != SSB_ANY_REV, id->revision);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:788:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “m”, id->manuf != BCMA_ANY_MANUF, id->manuf);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:789:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “id”, id->id != BCMA_ANY_ID, id->id);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:790:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “rev”, id->rev != BCMA_ANY_REV, id->rev);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:791:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “cl”, id->class != BCMA_ANY_CLASS, id->class);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:805:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “d”, id->device != VIRTIO_DEV_ANY_ID, id->device);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:806:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “v”, id->vendor != VIRTIO_DEV_ANY_ID, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:947:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “i”, id->id != ZORRO_WILDCARD, id->id);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:1050:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “vendor:”, id->vendor != X86_VENDOR_ANY, id->vendor);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:1051:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “:family:”, id->family != X86_FAMILY_ANY, id->family);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    scripts/mod/file2alias.c:1052:2: warning: format string is empty [-Wformat-zero-length]
    ADD(alias, “:model:”, id->model != X86_MODEL_ANY, id->model);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    scripts/mod/file2alias.c:104:55: note: expanded from macro ‘ADD’
    sizeof(field) == 4 ? “%08X” : “”, \
    ^~
    /usr/include/secure/_stdio.h:49:56: note: expanded from macro ‘sprintf’
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
    ^
    64 warnings generated.
    HOSTCC scripts/mod/modpost.o
    HOSTCC scripts/mod/sumversion.o
    HOSTLD scripts/mod/modpost
    ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _devtable_ptr351 from scripts/mod/file2alias.o. To fix this warning, don’t compile with -mdynamic-no-pic or link with -Wl,-no_pie
    HOSTCC scripts/selinux/genheaders/genheaders
    HOSTCC scripts/selinux/mdp/mdp
    HOSTCC scripts/kallsyms
    HOSTCC scripts/conmakehash
    HOSTCC scripts/bin2c
    CC init/main.o
    CHK include/generated/compile.h
    CC init/version.o
    CC init/do_mounts.o
    CC init/do_mounts_rd.o
    CC init/do_mounts_initrd.o
    LD init/mounts.o
    CC init/initramfs.o
    CC init/calibrate.o
    LD init/built-in.o
    HOSTCC usr/gen_init_cpio
    GEN usr/initramfs_data.cpio
    AS usr/initramfs_data.o
    LD usr/built-in.o
    CC arch/arm/vfp/vfpmodule.o
    AS arch/arm/vfp/entry.o
    AS arch/arm/vfp/vfphw.o
    CC arch/arm/vfp/vfpsingle.o
    CC arch/arm/vfp/vfpdouble.o
    LD arch/arm/vfp/vfp.o
    LD arch/arm/vfp/built-in.o
    CC arch/arm/kernel/elf.o
    AS arch/arm/kernel/entry-armv.o
    AS arch/arm/kernel/entry-common.o
    CC arch/arm/kernel/irq.o
    CC arch/arm/kernel/opcodes.o
    CC arch/arm/kernel/process.o
    CC arch/arm/kernel/ptrace.o
    CC arch/arm/kernel/return_address.o
    arch/arm/kernel/return_address.c:62:2: warning: #warning “TODO: return_address should use unwind tables” [-Wcpp]
    #warning “TODO: return_address should use unwind tables”
    ^
    CC arch/arm/kernel/sched_clock.o
    CC arch/arm/kernel/setup.o
    CC arch/arm/kernel/signal.o
    CC arch/arm/kernel/stacktrace.o
    CC arch/arm/kernel/sys_arm.o
    CC arch/arm/kernel/time.o
    CC arch/arm/kernel/traps.o
    CC arch/arm/kernel/cpuidle.o
    CC arch/arm/kernel/armksyms.o
    CC arch/arm/kernel/module.o
    AS arch/arm/kernel/sleep.o
    CC arch/arm/kernel/suspend.o
    CC arch/arm/kernel/smp.o
    CC arch/arm/kernel/smp_tlb.o
    CC arch/arm/kernel/smp_scu.o
    CC arch/arm/kernel/arch_timer.o
    CC arch/arm/kernel/machine_kexec.o
    AS arch/arm/kernel/relocate_kernel.o
    CC arch/arm/kernel/kprobes.o
    CC arch/arm/kernel/kprobes-common.o
    CC arch/arm/kernel/patch.o
    CC arch/arm/kernel/kprobes-arm.o
    CC arch/arm/kernel/crash_notes.o
    CC arch/arm/kernel/atags.o
    CC arch/arm/kernel/unwind.o
    CC arch/arm/kernel/devtree.o
    CC arch/arm/kernel/swp_emulate.o
    CC arch/arm/kernel/hw_breakpoint.o
    CC arch/arm/kernel/pmu.o
    CC arch/arm/kernel/perf_event.o
    CC arch/arm/kernel/topology.o
    CC arch/arm/kernel/io.o
    LD arch/arm/kernel/built-in.o
    AS arch/arm/kernel/head.o
    CC arch/arm/kernel/init_task.o
    LDS arch/arm/kernel/vmlinux.lds
    CC arch/arm/mm/dma-mapping.o
    CC arch/arm/mm/extable.o
    CC arch/arm/mm/fault.o
    CC arch/arm/mm/init.o
    CC arch/arm/mm/iomap.o
    CC arch/arm/mm/fault-armv.o
    CC arch/arm/mm/flush.o
    CC arch/arm/mm/idmap.o
    CC arch/arm/mm/ioremap.o
    CC arch/arm/mm/mmap.o
    CC arch/arm/mm/pgd.o
    CC arch/arm/mm/mmu.o
    CC arch/arm/mm/vmregion.o
    CC arch/arm/mm/proc-syms.o
    CC arch/arm/mm/alignment.o
    CC arch/arm/mm/highmem.o
    AS arch/arm/mm/abort-ev7.o
    AS arch/arm/mm/pabort-v7.o
    AS arch/arm/mm/cache-v7.o
    CC arch/arm/mm/copypage-v6.o
    CC arch/arm/mm/context.o
    AS arch/arm/mm/tlb-v7.o
    AS arch/arm/mm/proc-v7.o
    LD arch/arm/mm/built-in.o
    CC arch/arm/common/gic.o
    CC arch/arm/common/cpaccess.o
    LD arch/arm/common/built-in.o
    LD arch/arm/net/built-in.o
    AS arch/arm/crypto/aes-armv4.o
    CC arch/arm/crypto/aes_glue.o
    LD arch/arm/crypto/aes-arm.o
    LD arch/arm/crypto/built-in.o
    CC arch/arm/mach-msm/io.o
    CC arch/arm/mach-msm/dma.o
    CC arch/arm/mach-msm/memory.o
    CC arch/arm/mach-msm/clock.o
    CC arch/arm/mach-msm/clock-voter.o
    CC arch/arm/mach-msm/clock-dummy.o
    CC arch/arm/mach-msm/clock-generic.o
    CC arch/arm/mach-msm/modem_notifier.o
    CC arch/arm/mach-msm/board-dt.o
    CC arch/arm/mach-msm/nohlt.o
    CC arch/arm/mach-msm/clock-debug.o
    CC arch/arm/mach-msm/msm_kexec.o
    CC arch/arm/mach-msm/acpuclock.o
    CC arch/arm/mach-msm/perf_trace_counters.o
    CC arch/arm/mach-msm/clock-krait.o
    CC arch/arm/mach-msm/msm-krait-l2-accessors.o
    CC arch/arm/mach-msm/perf_event_msm_krait_l2.o
    CC arch/arm/mach-msm/krait-scm.o
    CC arch/arm/mach-msm/perf_debug.o
    AS arch/arm/mach-msm/headsmp.o
    CC arch/arm/mach-msm/platsmp.o
    CC arch/arm/mach-msm/hotplug.o
    AS arch/arm/mach-msm/idle-v7.o
    CC arch/arm/mach-msm/smd.o
    CC arch/arm/mach-msm/smd_debug.o
    CC arch/arm/mach-msm/remote_spinlock.o
    /var/folders/rp/9mhsdvrs6wv57p8kgpv5lst00000gn/T//ccLM4xch.s: Assembler messages:
    /var/folders/rp/9mhsdvrs6wv57p8kgpv5lst00000gn/T//ccLM4xch.s:169: Warning: swp{b} use is deprecated for ARMv6 and ARMv7
    /var/folders/rp/9mhsdvrs6wv57p8kgpv5lst00000gn/T//ccLM4xch.s:196: Warning: swp{b} use is deprecated for ARMv6 and ARMv7
    CC arch/arm/mach-msm/smd_private.o
    CC arch/arm/mach-msm/smem.o
    CC arch/arm/mach-msm/smd_init_dt.o
    CC arch/arm/mach-msm/smd_init_plat.o
    CC arch/arm/mach-msm/smp2p.o
    CC arch/arm/mach-msm/smp2p_debug.o
    CC arch/arm/mach-msm/smp2p_gpio.o
    CC arch/arm/mach-msm/smp2p_loopback.o
    CC arch/arm/mach-msm/smp2p_test.o
    CC arch/arm/mach-msm/smp2p_gpio_test.o
    CC arch/arm/mach-msm/smp2p_spinlock_test.o
    CC arch/arm/mach-msm/scm.o
    CC arch/arm/mach-msm/scm-boot.o
    CC arch/arm/mach-msm/peripheral-loader.o
    CC arch/arm/mach-msm/scm-pas.o
    CC arch/arm/mach-msm/pil-q6v5.o
    CC arch/arm/mach-msm/pil-q6v5-lpass.o
    CC arch/arm/mach-msm/pil-msa.o
    CC arch/arm/mach-msm/pil-q6v5-mss.o
    CC arch/arm/mach-msm/pil-pronto.o
    CC arch/arm/mach-msm/pil-venus.o
    CC arch/arm/mach-msm/bam_dmux.o
    CC arch/arm/mach-msm/smem_log.o
    CC arch/arm/mach-msm/ipc_logging.o
    CC arch/arm/mach-msm/ipc_logging_debug.o
    CC arch/arm/mach-msm/socinfo.o
    CC arch/arm/mach-msm/smd_tty.o
    CC arch/arm/mach-msm/smd_qmi.o
    CC arch/arm/mach-msm/smd_pkt.o
    CC arch/arm/mach-msm/smd_nmea.o
    CC arch/arm/mach-msm/ipc_router_smd_xprt.o
    CC arch/arm/mach-msm/ipc_router.o
    CC arch/arm/mach-msm/ipc_socket.o
    CC arch/arm/mach-msm/msm_ipc_router_security.o
    CC arch/arm/mach-msm/msm_qmi_interface.o
    CC arch/arm/mach-msm/smd_rpc_sym.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_core.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_fabric.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_config.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_arb.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_bimc.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_noc.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_of.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_rpm_smd.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_board_8974.o
    CC arch/arm/mach-msm/msm_bus/msm_bus_dbg.o
    LD arch/arm/mach-msm/msm_bus/built-in.o
    CC arch/arm/mach-msm/qdsp6v2/apr.o
    CC arch/arm/mach-msm/qdsp6v2/apr_v2.o
    CC arch/arm/mach-msm/qdsp6v2/apr_tal.o
    CC arch/arm/mach-msm/qdsp6v2/dsp_debug.o
    CC arch/arm/mach-msm/qdsp6v2/aac_in.o
    CC arch/arm/mach-msm/qdsp6v2/qcelp_in.o
    CC arch/arm/mach-msm/qdsp6v2/evrc_in.o
    CC arch/arm/mach-msm/qdsp6v2/amrnb_in.o
    CC arch/arm/mach-msm/qdsp6v2/audio_utils.o
    CC arch/arm/mach-msm/qdsp6v2/audio_wma.o
    CC arch/arm/mach-msm/qdsp6v2/audio_wmapro.o
    CC arch/arm/mach-msm/qdsp6v2/audio_aac.o
    CC arch/arm/mach-msm/qdsp6v2/audio_multi_aac.o
    CC arch/arm/mach-msm/qdsp6v2/audio_utils_aio.o
    CC arch/arm/mach-msm/qdsp6v2/q6audio_v2.o
    CC arch/arm/mach-msm/qdsp6v2/q6audio_v2_aio.o
    CC arch/arm/mach-msm/qdsp6v2/msm_audio_ion.o
    CC arch/arm/mach-msm/qdsp6v2/audio_mp3.o
    CC arch/arm/mach-msm/qdsp6v2/audio_amrnb.o
    CC arch/arm/mach-msm/qdsp6v2/audio_amrwb.o
    CC arch/arm/mach-msm/qdsp6v2/audio_amrwbplus.o
    CC arch/arm/mach-msm/qdsp6v2/audio_evrc.o
    CC arch/arm/mach-msm/qdsp6v2/audio_qcelp.o
    CC arch/arm/mach-msm/qdsp6v2/amrwb_in.o
    CC arch/arm/mach-msm/qdsp6v2/adsp-loader.o
    CC arch/arm/mach-msm/qdsp6v2/ultrasound/version_b/q6usm_b.o
    CC arch/arm/mach-msm/qdsp6v2/ultrasound/version_b/../usf.o
    CC arch/arm/mach-msm/qdsp6v2/ultrasound/version_b/../usfcdev.o
    LD arch/arm/mach-msm/qdsp6v2/ultrasound/version_b/built-in.o
    LD arch/arm/mach-msm/qdsp6v2/built-in.o
    CC arch/arm/mach-msm/pm-boot.o
    CC arch/arm/mach-msm/pm-stats.o
    CC arch/arm/mach-msm/spm-v2.o
    CC arch/arm/mach-msm/spm_devices.o
    CC arch/arm/mach-msm/boot_stats.o
    CC arch/arm/mach-msm/rpm-regulator-smd.o
    CC arch/arm/mach-msm/subsystem_notif.o
    CC arch/arm/mach-msm/subsystem_restart.o
    CC arch/arm/mach-msm/ramdump.o
    CC arch/arm/mach-msm/sysmon.o
    CC arch/arm/mach-msm/msm_watchdog_v2.o
    CC arch/arm/mach-msm/msm_memory_dump.o
    CC arch/arm/mach-msm/bms-batterydata.o
    CC arch/arm/mach-msm/bms-batterydata-desay.o
    CC arch/arm/mach-msm/batterydata-lib.o
    CC arch/arm/mach-msm/bms-batterydata-qrd-4v35-2000mah.o
    CC arch/arm/mach-msm/bms-batterydata-qrd-4v2-1300mah.o
    CC arch/arm/mach-msm/board-8974.o
    CC arch/arm/mach-msm/board-8974-console.o
    CC arch/arm/mach-msm/clock-krait-8974.o
    CC arch/arm/mach-msm/clock-local2.o
    CC arch/arm/mach-msm/clock-pll.o
    CC arch/arm/mach-msm/clock-8974.o
    CC arch/arm/mach-msm/clock-rpm.o
    CC arch/arm/mach-msm/clock-mdss-8974.o
    CC arch/arm/mach-msm/gdsc.o
    CC arch/arm/mach-msm/krait-regulator.o
    CC arch/arm/mach-msm/krait-regulator-pmic.o
    CC arch/arm/mach-msm/msm-pm.o
    CC arch/arm/mach-msm/pm-data.o
    CC arch/arm/mach-msm/board-sony_togari_row-gpiomux.o
    CC arch/arm/mach-msm/bms-batterydata-burton.o
    CC arch/arm/mach-msm/rpm-smd.o
    CC arch/arm/mach-msm/lpm_levels.o
    CC arch/arm/mach-msm/mpm-of.o
    CC arch/arm/mach-msm/rpm_stats.o
    CC arch/arm/mach-msm/rpm_master_stat.o
    CC arch/arm/mach-msm/rpm_rbcpr_stats_v2.o
    CC arch/arm/mach-msm/rpm_log.o
    CC arch/arm/mach-msm/tz_log.o
    CC arch/arm/mach-msm/iommu_domains.o
    CC arch/arm/mach-msm/event_timer.o
    CC arch/arm/mach-msm/ocmem.o
    CC arch/arm/mach

  10. By Raphael Stroe

    #11

    $ make ARCH=arm CROSS_COMPILE=/home/raphael/arm2010q/bin/arm-none-linux-gnueabi-
    include/config/auto.conf: line 539: KERNEL_LOCAL_VERSION: command not found
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h’ is up to date.
    CALL scripts/checksyscalls.sh
    sed: can’t read scripts/../arch/x86/include/asm/unistd_32.h: No such file or directory
    CC init/main.o
    CHK include/generated/compile.h
    UPD include/generated/compile.h
    CC init/version.o
    CC init/do_mounts.o
    CC init/do_mounts_initrd.o
    LD init/mounts.o
    CC init/initramfs.o
    CC init/calibrate.o
    LD init/built-in.o
    GEN usr/initramfs_data.cpio
    AS usr/initramfs_data.o
    LD usr/built-in.o
    CC arch/arm/vfp/vfpmodule.o
    AS arch/arm/vfp/entry.o
    AS arch/arm/vfp/vfphw.o
    CC arch/arm/vfp/vfpsingle.o
    CC arch/arm/vfp/vfpdouble.o
    LD arch/arm/vfp/vfp.o
    LD arch/arm/vfp/built-in.o
    CC arch/arm/kernel/elf.o
    AS arch/arm/kernel/entry-armv.o
    AS arch/arm/kernel/entry-common.o
    CC arch/arm/kernel/irq.o
    CC arch/arm/kernel/process.o
    CC arch/arm/kernel/ptrace.o
    CC arch/arm/kernel/return_address.o
    arch/arm/kernel/return_address.c:62: warning: #warning “TODO: return_address should use unwind tables”
    CC arch/arm/kernel/setup.o
    CC arch/arm/kernel/signal.o
    CC arch/arm/kernel/sys_arm.o
    CC arch/arm/kernel/stacktrace.o
    CC arch/arm/kernel/time.o
    CC arch/arm/kernel/traps.o
    CC arch/arm/kernel/armksyms.o
    CC arch/arm/kernel/module.o
    AS arch/arm/kernel/sleep.o
    CC arch/arm/kernel/sched_clock.o
    CC arch/arm/kernel/sys_oabi-compat.o
    CC arch/arm/kernel/thumbee.o
    CC arch/arm/kernel/unwind.o
    CC arch/arm/kernel/pmu.o
    CC arch/arm/kernel/perf_event.o
    CC arch/arm/kernel/io.o
    AS arch/arm/kernel/debug.o
    CC arch/arm/kernel/early_printk.o
    CC arch/arm/kernel/fih_sw_info.o
    LD arch/arm/kernel/built-in.o
    AS arch/arm/kernel/head.o
    CC arch/arm/kernel/init_task.o
    LDS arch/arm/kernel/vmlinux.lds
    CC arch/arm/mm/dma-mapping.o
    CC arch/arm/mm/extable.o
    CC arch/arm/mm/fault.o
    CC arch/arm/mm/init.o
    CC arch/arm/mm/iomap.o
    CC arch/arm/mm/fault-armv.o
    CC arch/arm/mm/flush.o
    CC arch/arm/mm/idmap.o
    CC arch/arm/mm/ioremap.o
    CC arch/arm/mm/mmap.o
    CC arch/arm/mm/pgd.o
    CC arch/arm/mm/mmu.o
    CC arch/arm/mm/vmregion.o
    CC arch/arm/mm/proc-syms.o
    CC arch/arm/mm/alignment.o
    CC arch/arm/mm/highmem.o
    AS arch/arm/mm/abort-ev7.o
    AS arch/arm/mm/pabort-v7.o
    AS arch/arm/mm/cache-v7.o
    CC arch/arm/mm/copypage-v6.o
    CC arch/arm/mm/context.o
    AS arch/arm/mm/tlb-v7.o
    AS arch/arm/mm/proc-v7.o
    CC arch/arm/mm/cache-l2x0.o
    LD arch/arm/mm/built-in.o
    CC arch/arm/common/cpaccess.o
    LD arch/arm/common/built-in.o
    CC arch/arm/mach-msm/io.o
    CC arch/arm/mach-msm/dma.o
    CC arch/arm/mach-msm/memory.o
    CC arch/arm/mach-msm/timer.o
    CC arch/arm/mach-msm/clock.o
    CC arch/arm/mach-msm/clock-voter.o
    CC arch/arm/mach-msm/clock-dummy.o
    CC arch/arm/mach-msm/modem_notifier.o
    CC arch/arm/mach-msm/subsystem_map.o
    CC arch/arm/mach-msm/cpufreq.o
    CC arch/arm/mach-msm/nohlt.o
    CC arch/arm/mach-msm/clock-debug.o
    CC arch/arm/mach-msm/proc_comm.o
    CC arch/arm/mach-msm/clock-pcom.o
    CC arch/arm/mach-msm/mpp.o
    CC arch/arm/mach-msm/footswitch-pcom.o
    CC arch/arm/mach-msm/pmic_debugfs.o
    CC arch/arm/mach-msm/acpuclock.o
    CC arch/arm/mach-msm/acpuclock-7201.o
    CC arch/arm/mach-msm/pmu.o
    CC arch/arm/mach-msm/irq-vic.o
    AS arch/arm/mach-msm/idle-v7.o
    CC arch/arm/mach-msm/smem_log.o
    CC arch/arm/mach-msm/smd.o
    CC arch/arm/mach-msm/smd_debug.o
    CC arch/arm/mach-msm/remote_spinlock.o
    CC arch/arm/mach-msm/socinfo.o
    CC arch/arm/mach-msm/pmic.o
    CC arch/arm/mach-msm/rpc_hsusb.o
    CC arch/arm/mach-msm/rpc_pmapp.o
    CC arch/arm/mach-msm/rpc_fsusb.o
    CC arch/arm/mach-msm/nand_partitions.o
    CC arch/arm/mach-msm/smd_tty.o
    CC arch/arm/mach-msm/smd_pkt.o
    CC arch/arm/mach-msm/smd_rpcrouter.o
    CC arch/arm/mach-msm/smd_rpcrouter_device.o
    CC arch/arm/mach-msm/smd_rpc_sym.o
    CC arch/arm/mach-msm/smd_rpcrouter_servers.o
    CC arch/arm/mach-msm/smd_rpcrouter_clients.o
    CC arch/arm/mach-msm/smd_rpcrouter_xdr.o
    CC arch/arm/mach-msm/rpcrouter_smd_xprt.o
    CC arch/arm/mach-msm/ping_mdm_rpc_client.o
    CC arch/arm/mach-msm/proc_comm_test.o
    CC arch/arm/mach-msm/ping_apps_server.o
    CC arch/arm/mach-msm/oem_rapi_client.o
    CC arch/arm/mach-msm/rpc_server_dog_keepalive.o
    CC arch/arm/mach-msm/dal.o
    CC arch/arm/mach-msm/dal_axi.o
    CC arch/arm/mach-msm/qdsp5/adsp.o
    CC arch/arm/mach-msm/qdsp5/adsp_driver.o
    CC arch/arm/mach-msm/qdsp5/adsp_info.o
    CC arch/arm/mach-msm/qdsp5/adsp_rm.o
    CC arch/arm/mach-msm/qdsp5/dsp_debug.o
    CC arch/arm/mach-msm/qdsp5/adsp_debug.o
    CC arch/arm/mach-msm/qdsp5/adsp_video_verify_cmd.o
    CC arch/arm/mach-msm/qdsp5/adsp_videoenc_verify_cmd.o
    CC arch/arm/mach-msm/qdsp5/adsp_jpeg_verify_cmd.o
    CC arch/arm/mach-msm/qdsp5/adsp_jpeg_patch_event.o
    CC arch/arm/mach-msm/qdsp5/adsp_vfe_verify_cmd.o
    CC arch/arm/mach-msm/qdsp5/adsp_vfe_patch_event.o
    CC arch/arm/mach-msm/qdsp5/adsp_lpm_verify_cmd.o
    CC arch/arm/mach-msm/qdsp5/audio_pcm_in.o
    CC arch/arm/mach-msm/qdsp5/audio_voice_lb.o
    CC arch/arm/mach-msm/qdsp5/audio_aac_in.o
    CC arch/arm/mach-msm/qdsp5/audio_evrc_in.o
    CC arch/arm/mach-msm/qdsp5/audio_qcelp_in.o
    CC arch/arm/mach-msm/qdsp5/audio_out.o
    CC arch/arm/mach-msm/qdsp5/audio_mp3.o
    CC arch/arm/mach-msm/qdsp5/audmgr.o
    CC arch/arm/mach-msm/qdsp5/audpp.o
    CC arch/arm/mach-msm/qdsp5/audrec.o
    CC arch/arm/mach-msm/qdsp5/audpreproc.o
    CC arch/arm/mach-msm/qdsp5/audio_evrc.o
    CC arch/arm/mach-msm/qdsp5/audio_qcelp.o
    CC arch/arm/mach-msm/qdsp5/audio_amrnb.o
    CC arch/arm/mach-msm/qdsp5/audio_aac.o
    CC arch/arm/mach-msm/qdsp5/audio_amrnb_in.o
    CC arch/arm/mach-msm/qdsp5/audio_wma.o
    CC arch/arm/mach-msm/qdsp5/audio_voicememo.o
    CC arch/arm/mach-msm/qdsp5/audio_pcm.o
    CC arch/arm/mach-msm/qdsp5/audio_amrwb.o
    CC arch/arm/mach-msm/qdsp5/audio_wmapro.o
    CC arch/arm/mach-msm/qdsp5/snd.o
    CC arch/arm/mach-msm/qdsp5/snd_adie.o
    CC arch/arm/mach-msm/qdsp5/audio_fm.o
    CC arch/arm/mach-msm/qdsp5/audio_mvs.o
    CC arch/arm/mach-msm/qdsp5/fih_headset.o
    LD arch/arm/mach-msm/qdsp5/built-in.o
    CC arch/arm/mach-msm/pm-boot.o
    CC arch/arm/mach-msm/pm2.o
    CC arch/arm/mach-msm/dma_test.o
    CC arch/arm/mach-msm/keypad-surf-ffa.o
    CC arch/arm/mach-msm/clock-pcom-lookup.o
    CC arch/arm/mach-msm/board-tamsui-mesona.o
    CC arch/arm/mach-msm/devices-tamsui-mesona.o
    CC arch/arm/mach-msm/rmt_storage_client.o
    CC arch/arm/mach-msm/gpiomux-7×27.o
    CC arch/arm/mach-msm/gpiomux-v1.o
    CC arch/arm/mach-msm/gpiomux.o
    CC arch/arm/mach-msm/gpio.o
    CC arch/arm/mach-msm/btpintest.o
    CC arch/arm/mach-msm/msm_vibrator.o
    CC arch/arm/mach-msm/proccomm-regulator.o
    CC arch/arm/mach-msm/board-msm7x27a-regulator.o
    CC arch/arm/mach-msm/fih_proc_fs.o
    arch/arm/mach-msm/fih_proc_fs.c:8: fatal error: ../../../../Version_LINUX.h: No such file or directory
    compilation terminated.
    make[1]: *** [arch/arm/mach-msm/fih_proc_fs.o] Error 1
    make: *** [arch/arm/mach-msm] Error 2

    I’ve tried even with NDK toolchain… still same error..

  11. By Jebanaciasnota Uyyg

    #12

    drivers/spi/amba-pl022.c:1401:20: warning: variable ‘chip’ set but not used [-Wunused-but-set-variable]
    LD drivers/spi/built-in.o
    CC drivers/staging/staging.o
    CC drivers/staging/android/binder.o
    CC drivers/staging/android/logger.o
    CC drivers/staging/android/ram_console.o
    CC drivers/staging/android/timed_output.o
    CC drivers/staging/android/timed_gpio.o
    CC drivers/staging/android/lowmemorykiller.o
    CC drivers/staging/android/ste_timed_vibra.o
    LD drivers/staging/android/built-in.o
    CC drivers/staging/mmio/st_mmio.o
    drivers/staging/mmio/st_mmio.c: In function ‘mmio_enable_xshutdown_from_host’:
    drivers/staging/mmio/st_mmio.c:434:6: warning: variable ‘err’ set but not used [-Wunused-but-set-variable]
    LD drivers/staging/mmio/built-in.o
    CC drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.o
    drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c: In function ‘cm_DSP_AcknowledgeDspIrq’:
    drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.c:315:5: error: variable ‘dummy’ set but not used [-Werror=unused-but-set-variable]
    cc1: all warnings being treated as errors
    make[3]: *** [drivers/staging/nmf-cm/cm/engine/dsp/src/dsp.o] Błąd 1
    make[2]: *** [drivers/staging/nmf-cm] Błąd 2
    make[1]: *** [drivers/staging] Błąd 2
    make: *** [drivers] Błąd 2
    root@kubuntu:/home/kubuntu/Desktop/6_0_B_1_564_tar/kernel# ^C

    ideas?

  12. By steve William

    #15

    I have been trying to compile the 4.1.B.1.13 kernel for the Ray but have been having issues with missing files like connmark.c and the following errors:
    net/ipv4/netfilter/ipt_ecn.c: In function ‘match_ip’:
    net/ipv4/netfilter/ipt_ecn.c:28:29: error: ‘XT_DSCP_MASK’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:28:29: note: each undeclared identifier is reported only once for each function it appears in
    net/ipv4/netfilter/ipt_ecn.c:28:54: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c: At top level:
    net/ipv4/netfilter/ipt_ecn.c:33:9: warning: ‘struct ipt_ecn_info’ declared inside parameter list [enabled by default]
    net/ipv4/netfilter/ipt_ecn.c: In function ‘match_tcp’:
    net/ipv4/netfilter/ipt_ecn.c:47:11: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:47:25: error: ‘IPT_ECN_OP_MATCH_ECE’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:48:12: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:57:11: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:57:25: error: ‘IPT_ECN_OP_MATCH_CWR’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:58:12: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c: In function ‘ecn_mt’:
    net/ipv4/netfilter/ipt_ecn.c:74:10: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:74:24: error: ‘IPT_ECN_OP_MATCH_IP’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:75:3: warning: passing argument 2 of ‘match_ip’ from incompatible pointer type [enabled by default]
    net/ipv4/netfilter/ipt_ecn.c:25:20: note: expected ‘const struct ipt_ecn_info *’ but argument is of type ‘const struct ipt_ecn_info *’
    net/ipv4/netfilter/ipt_ecn.c:78:10: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:78:25: error: ‘IPT_ECN_OP_MATCH_ECE’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:78:46: error: ‘IPT_ECN_OP_MATCH_CWR’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:81:3: warning: passing argument 2 of ‘match_tcp’ from incompatible pointer type [enabled by default]
    net/ipv4/netfilter/ipt_ecn.c:31:20: note: expected ‘const struct ipt_ecn_info *’ but argument is of type ‘const struct ipt_ecn_info *’
    net/ipv4/netfilter/ipt_ecn.c: In function ‘ecn_mt_check’:
    net/ipv4/netfilter/ipt_ecn.c:93:10: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:93:24: error: ‘IPT_ECN_OP_MATCH_MASK’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:96:10: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:99:10: error: dereferencing pointer to incomplete type
    net/ipv4/netfilter/ipt_ecn.c:99:25: error: ‘IPT_ECN_OP_MATCH_ECE’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c:99:46: error: ‘IPT_ECN_OP_MATCH_CWR’ undeclared (first use in this function)
    net/ipv4/netfilter/ipt_ecn.c: At top level:
    net/ipv4/netfilter/ipt_ecn.c:113:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct ipt_ecn_info’
    make[3]: *** [net/ipv4/netfilter/ipt_ecn.o] Error 1
    make[2]: *** [net/ipv4/netfilter] Error 2
    make[1]: *** [net/ipv4] Error 2
    make: *** [net] Error 2

    Has anyone faced this and how did you resolve this?
    I have tried CodeSourcery as well as the NDK toolchain.

    • By steve William

      #16

      Solved!
      Mac OS X (Mountain Lion) by default has a case-insensitive file system. I had to create a case-sensitive disk and extract the the bz2 package there to have all the files. Ubuntu 12.04 has a case-sensitive file system by default. So it works on that too.