The module-sections.c file defines a custom cmp_3way() macro to perform
3-way comparisons during relocation sorting.
Instead of maintaining our own implementation, use the generic
cmp_int() macro provided by the already included <linux/sort.h>. This
removes redundant code and relies on standard kernel interfaces.
Signed-off-by: Florian Schmaus <florian.schmaus@codasip.com>
Link: https://patch.msgid.link/20260512063231.708256-1-florian.schmaus@codasip.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
return (unsigned long)&plt[i];
}
-#define cmp_3way(a, b) ((a) < (b) ? -1 : (a) > (b))
-
static int cmp_rela(const void *a, const void *b)
{
const Elf_Rela *x = a, *y = b;
int i;
/* sort by type, symbol index and addend */
- i = cmp_3way(x->r_info, y->r_info);
+ i = cmp_int(x->r_info, y->r_info);
if (i == 0)
- i = cmp_3way(x->r_addend, y->r_addend);
+ i = cmp_int(x->r_addend, y->r_addend);
return i;
}