Revert "Revert "Upgrade zerocopy to 0.7.5"" am: c528e6732a am: f43acf09b8 am: 3658837075 am: 887390966d am: 722e6fa37d
Original change: https://android-review.googlesource.com/c/platform/system/tools/mkbootimg/+/2787833
Change-Id: Ib2bc2d8b11b68315b6862c931e573744bcaa9a19
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/rust/bindgen.sh b/rust/bindgen.sh
index b854d10..6e75618 100755
--- a/rust/bindgen.sh
+++ b/rust/bindgen.sh
@@ -38,7 +38,7 @@
# generated rust bindings really don't need.
BLOCKED_ITEMS_RE="_.+|.?INT.+|PTR.+|ATOMIC.+|.+SOURCE|.+_H|SIG_.+|SIZE_.+|.?CHAR.+"
CUSTOM_STRUCT_RE="(vendor_)?(boot_img_hdr|ramdisk_table_entry)_v\d+"
-CUSTOM_STRUCT_DERIVES="AsBytes,FromBytes,PartialEq,Copy,Clone,Debug"
+CUSTOM_STRUCT_DERIVES="AsBytes,FromBytes,FromZeroes,PartialEq,Copy,Clone,Debug"
BINDGEN_FLAGS="--use-core --with-derive-default"
BOOTIMG_PRIV=${BOOTIMG_DIR}/rust/bootimg_priv.rs
@@ -69,7 +69,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-use zerocopy::{AsBytes, FromBytes};
+use zerocopy::{AsBytes, FromBytes, FromZeroes};
EOF
diff --git a/rust/bootimg_priv.rs b/rust/bootimg_priv.rs
index fbd883c..15fd0d9 100644
--- a/rust/bootimg_priv.rs
+++ b/rust/bootimg_priv.rs
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-use zerocopy::{AsBytes, FromBytes};
+use zerocopy::{AsBytes, FromBytes, FromZeroes};
/* automatically generated by rust-bindgen 0.65.1 */
@@ -32,7 +32,7 @@
pub const VENDOR_RAMDISK_NAME_SIZE: u32 = 32;
pub const VENDOR_RAMDISK_TABLE_ENTRY_BOARD_ID_SIZE: u32 = 16;
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct boot_img_hdr_v0 {
pub magic: [u8; 8usize],
pub kernel_size: u32,
@@ -151,7 +151,7 @@
}
pub type boot_img_hdr = boot_img_hdr_v0;
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct boot_img_hdr_v1 {
pub _base: boot_img_hdr_v0,
pub recovery_dtbo_size: u32,
@@ -208,7 +208,7 @@
}
}
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct boot_img_hdr_v2 {
pub _base: boot_img_hdr_v1,
pub dtb_size: u32,
@@ -249,7 +249,7 @@
}
}
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct boot_img_hdr_v3 {
pub magic: [u8; 8usize],
pub kernel_size: u32,
@@ -325,7 +325,7 @@
}
}
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct vendor_boot_img_hdr_v3 {
pub magic: [u8; 8usize],
pub header_version: u32,
@@ -471,7 +471,7 @@
}
}
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct boot_img_hdr_v4 {
pub _base: boot_img_hdr_v3,
pub signature_size: u32,
@@ -506,7 +506,7 @@
}
}
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct vendor_boot_img_hdr_v4 {
pub _base: vendor_boot_img_hdr_v3,
pub vendor_ramdisk_table_size: u32,
@@ -584,7 +584,7 @@
}
}
#[repr(C, packed)]
-#[derive(AsBytes, FromBytes, PartialEq, Copy, Clone, Debug)]
+#[derive(AsBytes, FromBytes, FromZeroes, PartialEq, Copy, Clone, Debug)]
pub struct vendor_ramdisk_table_entry_v4 {
pub ramdisk_size: u32,
pub ramdisk_offset: u32,