cfi_cross_dso =true# Enable the cross-DSO CFI check.
integer_overflow =true# Enable the integer overflow check.
boundary_sanitize =true# Enable the bounds check.
ubsan =true# Enable some UBSAN options.
all_ubsan =true# Enable all UBSAN options.
debug =true# Enable the debug mode, which is disabled by default.
blocklist ="./blocklist.txt"# Path of the blocklist.
cfi =true# Enable the CFI check.
cfi_cross_dso =true# Enable the cross-DSO CFI check.
integer_overflow =true# Enable the integer overflow check.
boundary_sanitize =true# Enable the bounds check.
ubsan =true# Enable some UBSAN options.
all_ubsan =true# Enable all UBSAN options.
debug =true# Enable the debug mode, which is disabled by default.
blocklist ="./blocklist.txt"# Path of the blocklist.
}
...
}
...
...
@@ -198,3 +198,69 @@ You can graphically display the build time as follows:
1. Click **Success** under **Static Check**.
2. Click **Output** in the **Output** column. The **build.trace.html** file is displayed in the **build_trace** column on the left. Click the file to open it.
## Customizing the chip_prod Image
### When to Use
The different capabilities for the products in the same chip solution are placed in the **chip_prod** partition. You need to generate the **chip_prod.img** specific to the product.
### Procedure
1. Configure the **config.json** file.
In the **config.json** file, add **chipprod_config_path**, which specifies the path of the product definition file.
The file is named **chip_product_list.gni**, and in the **chip_product_list = ["productA", "productB", ...]** format.
Example:
To customize **chip_prod.img** for **MyProduct**, modify the **//vendor/Product vendor/MyProduct/config.json** as follows:
```shell
{
"product_name": "MyProduct", # Product name.
"version": "3.0", # config.json version, which is 3.0.
"chipprod_config_path": "", # (Optional) Path of the chipprod configuration file.
If the configuration file has different product configurations, for example, to generate **chip_prod.img** for product A, you need to configure **install_images** and **module_install_dir** for module compilation.
The following uses **ohos_prebuilt_executable** as an example:
```shell
ohos_prebuilt_executable("moduleXXX"){
install_images =["chip_prod"]
module_install_dir ="productA/etc/***"# The path must start with productA.
If products A and B are defined (**chip_product_list = ["productA", "productB"]**) and a module is installed in the products, the following images are generated: