diff --git a/.gitattributes b/.gitattributes index 27affddb5f62..51513e0b43a7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -108,8 +108,6 @@ otherlibs/unix/symlink_win32.c typo.long-line utils/misc.ml typo.utf8 runtime/sak.c typo.non-ascii -stdlib/hashbang typo.white-at-eol typo.missing-lf - testsuite/tests/** typo.missing-header typo.long-line=may testsuite/tests/lib-bigarray-2/bigarrf.f typo.tab linguist-language=Fortran testsuite/tests/lib-unix/win-stat/fakeclock.c typo.missing-header=false diff --git a/Changes b/Changes index 436cab790f0f..ceed485c6eb9 100644 --- a/Changes +++ b/Changes @@ -218,6 +218,11 @@ ___________ runtime assertions. (Antonin Décimo, review by Miod Vallat, Gabriel Scherer, and David Allsopp) +- #13496: Add missing .type and .size directives to main frametable to silence + warnings from the linker when using libasmrun_shared on amd64 and power. The + other backends already carried these directives. + (David Allsopp, review by ???) + ### Code generation and optimizations: - #13014: Enable compile-time option -function-sections on all previously diff --git a/runtime/amd64.S b/runtime/amd64.S index c646f944df22..d74b63c0cc3e 100644 --- a/runtime/amd64.S +++ b/runtime/amd64.S @@ -77,8 +77,12 @@ #if defined(SYS_linux) || defined(SYS_gnu) #define ENDFUNCTION(name) \ .size name, . - name +#define ENDOBJECT(name) \ + .type name, @object; \ + .size name, . - name; #else #define ENDFUNCTION(name) +#define ENDOBJECT(name) #endif #include "../runtime/caml/asm.h" @@ -1331,6 +1335,7 @@ G(caml_system.frametable): .quad LBL(frame_runstack) /* return address into fiber_val_handler */ .value -1 /* negative frame size => use callback link */ .value 0 /* no roots here */ + ENDOBJECT(G(caml_system.frametable)) #if defined(SYS_macosx) .literal16 diff --git a/runtime/power.S b/runtime/power.S index e05a612f288d..34229c2e9157 100644 --- a/runtime/power.S +++ b/runtime/power.S @@ -1193,6 +1193,7 @@ caml_system.frametable: .short -1 /* negative frame size => use callback link */ .short 0 /* no roots here */ .align 3 + .size caml_system.frametable, .-caml_system.frametable /* TOC entries */ diff --git a/stdlib/hashbang b/stdlib/hashbang deleted file mode 100644 index 04c9334b637e..000000000000 --- a/stdlib/hashbang +++ /dev/null @@ -1 +0,0 @@ -#! \ No newline at end of file