diff options
author | jdp <jdp@FreeBSD.org> | 1999-03-12 17:33:28 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1999-03-12 17:33:28 +0000 |
commit | a83e4078893f3a284de67a4f2375e037a5684e04 (patch) | |
tree | 72b60f076341b21cc6a08dc849a040713c94dfcb /lib/csu/common | |
parent | 6eaebd4ffe6b53793c9bfc5a3bdf683e9f8c4cd1 (diff) | |
download | FreeBSD-src-a83e4078893f3a284de67a4f2375e037a5684e04.zip FreeBSD-src-a83e4078893f3a284de67a4f2375e037a5684e04.tar.gz |
Move the code for the ".init" and ".fini" sections outside of a
C function so the compiler won't try to emit line numbers for it
with "-g", breaking the build. This has the nice side-effect of
making crtbegin.o and crtbeginS.o a little bit smaller.
Remove "-Wno-unused" from the Makefile. Replace it with "__unused"
on particular function and variable declarations.
Diffstat (limited to 'lib/csu/common')
-rw-r--r-- | lib/csu/common/crtbegin.c | 18 | ||||
-rw-r--r-- | lib/csu/common/crtend.c | 8 |
2 files changed, 13 insertions, 13 deletions
diff --git a/lib/csu/common/crtbegin.c b/lib/csu/common/crtbegin.c index 9970d85..2e06dc8 100644 --- a/lib/csu/common/crtbegin.c +++ b/lib/csu/common/crtbegin.c @@ -22,14 +22,19 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: crtbegin.c,v 1.3 1996/04/12 02:24:35 jdp Exp $ + * $Id: crtbegin.c,v 1.1.1.1 1998/03/07 20:27:10 jdp Exp $ */ +#include <sys/cdefs.h> + typedef void (*fptr)(void); static fptr ctor_list[1] __attribute__((section(".ctors"))) = { (fptr) -1 }; static fptr dtor_list[1] __attribute__((section(".dtors"))) = { (fptr) -1 }; +static void do_ctors(void) __unused; +static void do_dtors(void) __unused; + static void do_ctors(void) { @@ -50,12 +55,5 @@ do_dtors(void) (**fpp)(); } -static void -function_skeleton(void) -{ - __asm__(".section .init,\"ax\",@progbits"); - do_ctors(); - __asm__(".section .fini,\"ax\",@progbits"); - do_dtors(); - __asm__(".text"); -} +__asm__(".section .init,\"ax\",@progbits; call do_ctors; .previous"); +__asm__(".section .fini,\"ax\",@progbits; call do_dtors; .previous"); diff --git a/lib/csu/common/crtend.c b/lib/csu/common/crtend.c index e1f2293..e681cd2 100644 --- a/lib/csu/common/crtend.c +++ b/lib/csu/common/crtend.c @@ -22,10 +22,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: crtend.c,v 1.3 1996/04/12 02:24:36 jdp Exp $ + * $Id: crtend.c,v 1.1.1.1 1998/03/07 20:27:10 jdp Exp $ */ +#include <sys/cdefs.h> + typedef void (*fptr)(void); -static fptr ctor_end[1] __attribute__((section(".ctors"))) = { 0 }; -static fptr dtor_end[1] __attribute__((section(".dtors"))) = { 0 }; +static fptr ctor_end[1] __attribute__((section(".ctors"))) __unused = { 0 }; +static fptr dtor_end[1] __attribute__((section(".dtors"))) __unused = { 0 }; |