The previous versions of ld used to produce symbols __start_foo and __stop_foo visible in "readelf -a a.out" output for following snippet: .text .globl _start .type _start,@function .section "foo" _start: ret This does not work anymore, it breaks building of kernel modules in FreeBSD. Petr
Since 2007-03-24, ld has only provided these symbols if they are referenced. So you'll need some reference in an object file or via -u on the command line if you want to see them.