From ce8c221fa96d29354e6d6dbb00bf1e09f10c0222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Hauspie?= <michael.hauspie@univ-lille.fr> Date: Sat, 8 Jun 2024 17:45:03 +0200 Subject: [PATCH] Fix align function --- src/link.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/link.rs b/src/link.rs index 577ed3d..04b749f 100644 --- a/src/link.rs +++ b/src/link.rs @@ -67,13 +67,10 @@ fn dump_sections<'s, T: Write>( Ok(output_size) } +/// returns the number of bytes needed to align value +/// on a given align size (must be a power of 2) fn align(value: usize, align: usize) -> usize { - let a = value & (align - 1); - if a == 0 { - 0 - } else { - align - a - } + (value + (align - 1) & !(align - 1)) - value } pub fn link(opts: Opts) -> Result<()> { -- GitLab