align common symbols on 16-byte boundary instead of basing off size of variable master
authorRobert Pengelly <robertapengelly@hotmail.com>
Wed, 19 Nov 2025 03:50:28 +0000 (03:50 +0000)
committerRobert Pengelly <robertapengelly@hotmail.com>
Wed, 19 Nov 2025 03:50:28 +0000 (03:50 +0000)
macho.c

diff --git a/macho.c b/macho.c
index 17d8e80ab0005568b884382515acaa55bf6971bd..1d8b6978609236430717d994d49d3c0be4e7c55e 100644 (file)
--- a/macho.c
+++ b/macho.c
@@ -685,11 +685,16 @@ void read_macho_object (const char *filename, unsigned char *data, unsigned long
                             
                             bss_part->content_size = symbol->size = symbol->value;
                             
+#if     0
                             if (bss_part->content_size > PAGE_SIZE) {
                                 bss_part->alignment = PAGE_SIZE;
                             } else {
                                 bss_part->alignment = bss_part->content_size;
                             }
+#else
+                            /* Assume everything needed at most 16-byte alignment. */
+                            bss_part->alignment = 16;
+#endif
                             
                             symbol->part = bss_part;
                             symbol->value = 0;