./build.sh编译的时候,错误的代码编译并不会报错

  • clh wrote: 2024-06-07 9:17 我为了测试是否编译到该代码文件,写了一些错误在代码文件里,但是使用./build.sh编译的时候,并没有报错。
    Image

    Code: Select all

    root@bbebcf8214f6:/home# ./build.sh  uboot
    **************************************
    Check [OK]: dtc --version
    **************************************
    Check [OK]: makeinfo --version
    **************************************
    Check [OK]: gperf --version
    **************************************
    Check [OK]: dpkg --list |grep g++-.*-multilib
    **************************************
    Check [OK]: dpkg --list |grep gcc-.*-multilib
    **************************************
    Check [OK]: make -v
    GLOBAL_PARTITIONS: 0x40000@0x0(env),0x40000@0x40000(idblock),0x80000@0x80000(uboot),0x400000@0x100000(boot),0x1E00000@0x500000(oem),0xA00000@0x2300000(userdata),0x5000000@0x2D00000(rootfs)
    [build.sh:info] Partition Filesystem Type Configure: rootfs@IGNORE@ubifs,oem@/oem@ubifs,userdata@/userdata@ubifs
    ============Start building uboot============
    TARGET_UBOOT_CONFIG=rv1106_defconfig rk-sfc.config
    =========================================
    make: Entering directory '/home/sysdrv'
     ==sysdrv== build uboot  
    make[1]: Entering directory '/home/sysdrv/source/uboot/u-boot'
    #
    # configuration written to .config
    #
    Using .config as base
    Merging ./arch/../configs/rk-sfc.config
    Value of CONFIG_ROCKCHIP_SFC_IOMUX is redefined by fragment ./arch/../configs/rk-sfc.config:
    Previous value: # CONFIG_ROCKCHIP_SFC_IOMUX is not set
    New value: CONFIG_ROCKCHIP_SFC_IOMUX=y
    
    #
    # merged configuration written to .config (needs make)
    #
    scripts/kconfig/conf  --oldconfig Kconfig
    #
    # configuration written to .config
    #
    make[1]: Leaving directory '/home/sysdrv/source/uboot/u-boot'
    pushd /home/sysdrv/source/uboot/u-boot;/home/sysdrv/source/uboot/u-boot/make.sh --spl-new CROSS_COMPILE=arm-rockchip830-linux-uclibcgnueabihf-;popd
    /home/sysdrv/source/uboot/u-boot /home/sysdrv
    make[1]: Entering directory '/home/sysdrv/source/uboot/u-boot'
    scripts/kconfig/conf  --silentoldconfig Kconfig
      CHK     include/config.h
      CFG     u-boot.cfg
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      CFG     tpl/u-boot.cfg
      GEN     include/autoconf.mk
      GEN     tpl/include/autoconf.mk
      GEN     spl/include/autoconf.mk
      CHK     include/config/uboot.release
      CHK     include/generated/timestamp_autogenerated.h
      UPD     include/generated/timestamp_autogenerated.h
      CHK     include/generated/version_autogenerated.h
      CHK     include/generated/generic-asm-offsets.h
      CHK     include/generated/asm-offsets.h
      HOSTCC  tools/mkenvimage.o
      HOSTCC  tools/fit_image.o
      HOSTCC  tools/image-host.o
      HOSTCC  tools/dumpimage.o
      HOSTCC  tools/mkimage.o
      HOSTCC  tools/rockchip/boot_merger.o
      HOSTCC  tools/rockchip/loaderimage.o
      HOSTLD  tools/mkenvimage
      HOSTLD  tools/loaderimage
      CHK     include/config.h
      CFG     u-boot.cfg
      HOSTLD  tools/dumpimage
      HOSTLD  tools/mkimage
    tools/rockchip/boot_merger.c: In function 'mergeBoot':
    tools/rockchip/boot_merger.c:700:43: warning: '%s' directive output may be truncated writing up to 813 bytes into a region of size 5 [-Wformat-truncation=]
      700 |         snprintf(buffer, sizeof(buffer), "%s", chip);
          |                                           ^~
    ......
      742 |                 chipType = convertChipType(chip + 2);
          |                            ~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/stdio.h:894,
                     from ././include/compiler.h:25,
                     from <command-line>:
    /usr/include/x86_64-linux-gnu/bits/stdio2.h:71:10: note: '__builtin_snprintf' output between 1 and 814 bytes into a destination of size 5
       71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       72 |                                    __glibc_objsize (__s), __fmt,
          |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       73 |                                    __va_arg_pack ());
          |                                    ~~~~~~~~~~~~~~~~~
    tools/rockchip/boot_merger.c: In function 'main':
    tools/rockchip/boot_merger.c:895:18: warning: array subscript 20 is outside array bounds of 'char[20]' [-Warray-bounds]
      895 |         str[len] = 0;
          |         ~~~~~~~~~^~~
    tools/rockchip/boot_merger.c:933:14: note: while referencing 'name'
      933 |         char name[MAX_NAME_LEN];
          |              ^~~~
      HOSTLD  tools/boot_merger
      CC      cmd/version.o
      CC      common/main.o
      LD      cmd/built-in.o
      LD      common/built-in.o
      CC      lib/display_options.o
      LD      lib/built-in.o
      LD      u-boot
      OBJCOPY u-boot.srec
      OBJCOPY u-boot-nodtb.bin
      SYM     u-boot.sym
    make[3]: 'arch/arm/dts/rv1106-evb.dtb' is up to date.
      MKIMAGE u-boot.img
      COPY    u-boot.dtb
      MKIMAGE u-boot-dtb.img
      CAT     u-boot-dtb.bin
      COPY    u-boot.bin
      ALIGN   u-boot.bin
      CC      spl/common/spl/spl.o
      CC      tpl/arch/arm/mach-rockchip/tpl.o
      COPY    spl/u-boot-spl.dtb
      CC      spl/lib/display_options.o
      LD      tpl/arch/arm/mach-rockchip/built-in.o
      LD      spl/common/spl/built-in.o
      LD      tpl/u-boot-tpl
      LD      spl/lib/built-in.o
      OBJCOPY tpl/u-boot-tpl-nodtb.bin
      COPY    tpl/u-boot-tpl.bin
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      CFGCHK  u-boot.cfg
    make[1]: Leaving directory '/home/sysdrv/source/uboot/u-boot'
    WARN: No tee bin
    pack u-boot.itb okay! Input: /home/sysdrv/source/uboot/rkbin/RKTRUST/RV1106TOS.ini
    
    FIT description: FIT Image with ATF/OP-TEE/U-Boot/MCU
    Created:         Fri Jun  7 16:55:57 2024
     Image 0 (uboot)
      Description:  U-Boot
      Created:      Fri Jun  7 16:55:57 2024
      Type:         Standalone Program
      Compression:  lzma compressed
      Data Size:    173165 Bytes = 169.11 KiB = 0.17 MiB
      Architecture: ARM
      Load Address: 0x00200000
      Entry Point:  unavailable
      Hash algo:    sha256
      Hash value:   5f5e48c368f3ee93b9cc3f4b157bdba5e576dbf99d5a9cbf0f4ca823e6480be1
     Image 1 (fdt)
      Description:  U-Boot dtb
      Created:      Fri Jun  7 16:55:57 2024
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Size:    7784 Bytes = 7.60 KiB = 0.01 MiB
      Architecture: ARM
      Hash algo:    sha256
      Hash value:   51bba657c35430930647b6cfb31010e5cbd496848b5529f224131ab972111f91
     Default Configuration: 'conf'
     Configuration 0 (conf)
      Description:  rv1106-evb
      Kernel:       unavailable
      FDT:          fdt
      Loadables:    uboot
    ********boot_merger ver 1.2********
    Info:Pack loader ok.
    creating new idblock from loader...
    idblock binary saving at rv1106_idblock_v1.10.101.img
    pack loader(SPL) okay! Input: /home/sysdrv/source/uboot/rkbin/RKBOOT/RV1106MINIALL.ini
    
    /home/sysdrv/source/uboot/u-boot
    pack loader with new: spl/u-boot-spl.bin
    
    Image(no-signed, version=0): uboot.img (FIT with uboot, trust...) is ready
    Image(no-signed): rv1106_idblock_v1.10.101.img (with spl, ddr...) is ready
    pack uboot.img okay! Input: /home/sysdrv/source/uboot/rkbin/RKTRUST/RV1106TOS.ini
    
    Platform RV1106 is build OK, with exist .config
    arm-rockchip830-linux-uclibcgnueabihf-
    Fri Jun  7 16:55:57 HKT 2024
    /home/sysdrv
    '/home/sysdrv/source/uboot/u-boot/uboot.img' -> '/home/sysdrv/out/image_uclibc_rv1106/uboot.img'
    '/home/sysdrv/source/uboot/u-boot/rv1106_idblock_v1.10.101.img' -> '/home/sysdrv/out/image_uclibc_rv1106/idblock.img'
    '/home/sysdrv/source/uboot/u-boot/rv1106_download_v1.10.106.bin' -> '/home/sysdrv/out/image_uclibc_rv1106/download.bin'
    
    
     [INSTALL]  /home/sysdrv/out/image_uclibc_rv1106/idblock.img /home/sysdrv/out/image_uclibc_rv1106/uboot.img /home/sysdrv/out/image_uclibc_rv1106/download.bin 
        TO 	    /home/output/image 
    
    
    make: Leaving directory '/home/sysdrv'
    [build.sh:info] Running build_uboot succeeded.
    
    您好,根据您提供的log来看,sfc_nand.c 在您编译的工程中并没有被添加进去,没有编译生成相关的.o 文件,所以不会产生相关的报错信息。
  • Crocodile wrote: 2024-06-11 1:48
    clh wrote: 2024-06-07 9:17 我为了测试是否编译到该代码文件,写了一些错误在代码文件里,但是使用./build.sh编译的时候,并没有报错。
    Image

    Code: Select all

    root@bbebcf8214f6:/home# ./build.sh  uboot
    **************************************
    Check [OK]: dtc --version
    **************************************
    Check [OK]: makeinfo --version
    **************************************
    Check [OK]: gperf --version
    **************************************
    Check [OK]: dpkg --list |grep g++-.*-multilib
    **************************************
    Check [OK]: dpkg --list |grep gcc-.*-multilib
    **************************************
    Check [OK]: make -v
    GLOBAL_PARTITIONS: 0x40000@0x0(env),0x40000@0x40000(idblock),0x80000@0x80000(uboot),0x400000@0x100000(boot),0x1E00000@0x500000(oem),0xA00000@0x2300000(userdata),0x5000000@0x2D00000(rootfs)
    [build.sh:info] Partition Filesystem Type Configure: rootfs@IGNORE@ubifs,oem@/oem@ubifs,userdata@/userdata@ubifs
    ============Start building uboot============
    TARGET_UBOOT_CONFIG=rv1106_defconfig rk-sfc.config
    =========================================
    make: Entering directory '/home/sysdrv'
     ==sysdrv== build uboot  
    make[1]: Entering directory '/home/sysdrv/source/uboot/u-boot'
    #
    # configuration written to .config
    #
    Using .config as base
    Merging ./arch/../configs/rk-sfc.config
    Value of CONFIG_ROCKCHIP_SFC_IOMUX is redefined by fragment ./arch/../configs/rk-sfc.config:
    Previous value: # CONFIG_ROCKCHIP_SFC_IOMUX is not set
    New value: CONFIG_ROCKCHIP_SFC_IOMUX=y
    
    #
    # merged configuration written to .config (needs make)
    #
    scripts/kconfig/conf  --oldconfig Kconfig
    #
    # configuration written to .config
    #
    make[1]: Leaving directory '/home/sysdrv/source/uboot/u-boot'
    pushd /home/sysdrv/source/uboot/u-boot;/home/sysdrv/source/uboot/u-boot/make.sh --spl-new CROSS_COMPILE=arm-rockchip830-linux-uclibcgnueabihf-;popd
    /home/sysdrv/source/uboot/u-boot /home/sysdrv
    make[1]: Entering directory '/home/sysdrv/source/uboot/u-boot'
    scripts/kconfig/conf  --silentoldconfig Kconfig
      CHK     include/config.h
      CFG     u-boot.cfg
      GEN     include/autoconf.mk.dep
      CFG     spl/u-boot.cfg
      CFG     tpl/u-boot.cfg
      GEN     include/autoconf.mk
      GEN     tpl/include/autoconf.mk
      GEN     spl/include/autoconf.mk
      CHK     include/config/uboot.release
      CHK     include/generated/timestamp_autogenerated.h
      UPD     include/generated/timestamp_autogenerated.h
      CHK     include/generated/version_autogenerated.h
      CHK     include/generated/generic-asm-offsets.h
      CHK     include/generated/asm-offsets.h
      HOSTCC  tools/mkenvimage.o
      HOSTCC  tools/fit_image.o
      HOSTCC  tools/image-host.o
      HOSTCC  tools/dumpimage.o
      HOSTCC  tools/mkimage.o
      HOSTCC  tools/rockchip/boot_merger.o
      HOSTCC  tools/rockchip/loaderimage.o
      HOSTLD  tools/mkenvimage
      HOSTLD  tools/loaderimage
      CHK     include/config.h
      CFG     u-boot.cfg
      HOSTLD  tools/dumpimage
      HOSTLD  tools/mkimage
    tools/rockchip/boot_merger.c: In function 'mergeBoot':
    tools/rockchip/boot_merger.c:700:43: warning: '%s' directive output may be truncated writing up to 813 bytes into a region of size 5 [-Wformat-truncation=]
      700 |         snprintf(buffer, sizeof(buffer), "%s", chip);
          |                                           ^~
    ......
      742 |                 chipType = convertChipType(chip + 2);
          |                            ~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/stdio.h:894,
                     from ././include/compiler.h:25,
                     from <command-line>:
    /usr/include/x86_64-linux-gnu/bits/stdio2.h:71:10: note: '__builtin_snprintf' output between 1 and 814 bytes into a destination of size 5
       71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       72 |                                    __glibc_objsize (__s), __fmt,
          |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       73 |                                    __va_arg_pack ());
          |                                    ~~~~~~~~~~~~~~~~~
    tools/rockchip/boot_merger.c: In function 'main':
    tools/rockchip/boot_merger.c:895:18: warning: array subscript 20 is outside array bounds of 'char[20]' [-Warray-bounds]
      895 |         str[len] = 0;
          |         ~~~~~~~~~^~~
    tools/rockchip/boot_merger.c:933:14: note: while referencing 'name'
      933 |         char name[MAX_NAME_LEN];
          |              ^~~~
      HOSTLD  tools/boot_merger
      CC      cmd/version.o
      CC      common/main.o
      LD      cmd/built-in.o
      LD      common/built-in.o
      CC      lib/display_options.o
      LD      lib/built-in.o
      LD      u-boot
      OBJCOPY u-boot.srec
      OBJCOPY u-boot-nodtb.bin
      SYM     u-boot.sym
    make[3]: 'arch/arm/dts/rv1106-evb.dtb' is up to date.
      MKIMAGE u-boot.img
      COPY    u-boot.dtb
      MKIMAGE u-boot-dtb.img
      CAT     u-boot-dtb.bin
      COPY    u-boot.bin
      ALIGN   u-boot.bin
      CC      spl/common/spl/spl.o
      CC      tpl/arch/arm/mach-rockchip/tpl.o
      COPY    spl/u-boot-spl.dtb
      CC      spl/lib/display_options.o
      LD      tpl/arch/arm/mach-rockchip/built-in.o
      LD      spl/common/spl/built-in.o
      LD      tpl/u-boot-tpl
      LD      spl/lib/built-in.o
      OBJCOPY tpl/u-boot-tpl-nodtb.bin
      COPY    tpl/u-boot-tpl.bin
      LD      spl/u-boot-spl
      OBJCOPY spl/u-boot-spl-nodtb.bin
      CAT     spl/u-boot-spl-dtb.bin
      COPY    spl/u-boot-spl.bin
      CFGCHK  u-boot.cfg
    make[1]: Leaving directory '/home/sysdrv/source/uboot/u-boot'
    WARN: No tee bin
    pack u-boot.itb okay! Input: /home/sysdrv/source/uboot/rkbin/RKTRUST/RV1106TOS.ini
    
    FIT description: FIT Image with ATF/OP-TEE/U-Boot/MCU
    Created:         Fri Jun  7 16:55:57 2024
     Image 0 (uboot)
      Description:  U-Boot
      Created:      Fri Jun  7 16:55:57 2024
      Type:         Standalone Program
      Compression:  lzma compressed
      Data Size:    173165 Bytes = 169.11 KiB = 0.17 MiB
      Architecture: ARM
      Load Address: 0x00200000
      Entry Point:  unavailable
      Hash algo:    sha256
      Hash value:   5f5e48c368f3ee93b9cc3f4b157bdba5e576dbf99d5a9cbf0f4ca823e6480be1
     Image 1 (fdt)
      Description:  U-Boot dtb
      Created:      Fri Jun  7 16:55:57 2024
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Size:    7784 Bytes = 7.60 KiB = 0.01 MiB
      Architecture: ARM
      Hash algo:    sha256
      Hash value:   51bba657c35430930647b6cfb31010e5cbd496848b5529f224131ab972111f91
     Default Configuration: 'conf'
     Configuration 0 (conf)
      Description:  rv1106-evb
      Kernel:       unavailable
      FDT:          fdt
      Loadables:    uboot
    ********boot_merger ver 1.2********
    Info:Pack loader ok.
    creating new idblock from loader...
    idblock binary saving at rv1106_idblock_v1.10.101.img
    pack loader(SPL) okay! Input: /home/sysdrv/source/uboot/rkbin/RKBOOT/RV1106MINIALL.ini
    
    /home/sysdrv/source/uboot/u-boot
    pack loader with new: spl/u-boot-spl.bin
    
    Image(no-signed, version=0): uboot.img (FIT with uboot, trust...) is ready
    Image(no-signed): rv1106_idblock_v1.10.101.img (with spl, ddr...) is ready
    pack uboot.img okay! Input: /home/sysdrv/source/uboot/rkbin/RKTRUST/RV1106TOS.ini
    
    Platform RV1106 is build OK, with exist .config
    arm-rockchip830-linux-uclibcgnueabihf-
    Fri Jun  7 16:55:57 HKT 2024
    /home/sysdrv
    '/home/sysdrv/source/uboot/u-boot/uboot.img' -> '/home/sysdrv/out/image_uclibc_rv1106/uboot.img'
    '/home/sysdrv/source/uboot/u-boot/rv1106_idblock_v1.10.101.img' -> '/home/sysdrv/out/image_uclibc_rv1106/idblock.img'
    '/home/sysdrv/source/uboot/u-boot/rv1106_download_v1.10.106.bin' -> '/home/sysdrv/out/image_uclibc_rv1106/download.bin'
    
    
     [INSTALL]  /home/sysdrv/out/image_uclibc_rv1106/idblock.img /home/sysdrv/out/image_uclibc_rv1106/uboot.img /home/sysdrv/out/image_uclibc_rv1106/download.bin 
        TO 	    /home/output/image 
    
    
    make: Leaving directory '/home/sysdrv'
    [build.sh:info] Running build_uboot succeeded.
    
    您好,根据您提供的log来看,sfc_nand.c 在您编译的工程中并没有被添加进去,没有编译生成相关的.o 文件,所以不会产生相关的报错信息。
    您好,请问应该修改哪个文件呢?
    我在sfc_nand.c文件所在目录下的Makefile文件并没有发现编译生成.o文件。
    Attachments
    Makefile.png