From a3560dc47b3cf2eef3ebf0e0c9765e11bdf66b6a Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 23 Jan 2003 17:55:27 +0000 Subject: Update architecture specific support to consistantly generate a crt0 and crt1 file. Most arches still need to be updated to call __uClibc_start_main() rather than __uClibc_main(). --- libc/sysdeps/linux/h8300/Makefile | 20 +++++++------------- libc/sysdeps/linux/h8300/crt0.S | 9 +-------- 2 files changed, 8 insertions(+), 21 deletions(-) (limited to 'libc/sysdeps/linux/h8300') diff --git a/libc/sysdeps/linux/h8300/Makefile b/libc/sysdeps/linux/h8300/Makefile index d63500a54..605278f23 100644 --- a/libc/sysdeps/linux/h8300/Makefile +++ b/libc/sysdeps/linux/h8300/Makefile @@ -1,6 +1,6 @@ # Makefile for uClibc # -# Copyright (C) 2000 by Lineo, inc. +# Copyright (C) 2000-2003 Erik Andersen # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU Library General Public License as published by the Free @@ -15,19 +15,13 @@ # You should have received a copy of the GNU Library General Public License # along with this program; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. TOPDIR=../../../../ include $(TOPDIR)Rules.mak ASFLAGS=$(CFLAGS) -# If you're looking for vfork(), it is defined in include/unistd.h - -CRT0=crt0.S -CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0)) +CRT0_SRC = crt0.S +CRT0_OBJ = crt0.o crt1.o SSRC=setjmp.S vfork.S # longjmp.S _start.S clone.S SOBJS=$(patsubst %.S,%.o, $(SSRC)) @@ -35,7 +29,7 @@ SOBJS=$(patsubst %.S,%.o, $(SSRC)) CSRC=ptrace.c COBJS=$(patsubst %.c,%.o, $(CSRC)) -OBJS=$(SOBJS) $(MOBJ) $(COBJS) +OBJS=$(SOBJS) $(COBJS) @@ -45,10 +39,10 @@ $(LIBC): ar-target ar-target: $(OBJS) $(CRT0_OBJ) $(AR) $(ARFLAGS) $(LIBC) $(OBJS) - cp $(CRT0_OBJ) $(TOPDIR)lib/$(CRT0_OBJ) + cp $(CRT0_OBJ) $(TOPDIR)lib/ -$(CRT0_OBJ): %.o : %.S - $(CC) $(CFLAGS) -c $< -o $@ +$(CRT0_OBJ): $(CRT0_SRC) + $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o $(STRIPTOOL) -x -R .note -R .comment $*.o $(SOBJS): %.o : %.S diff --git a/libc/sysdeps/linux/h8300/crt0.S b/libc/sysdeps/linux/h8300/crt0.S index 2fe9d0d53..a4f862797 100644 --- a/libc/sysdeps/linux/h8300/crt0.S +++ b/libc/sysdeps/linux/h8300/crt0.S @@ -22,6 +22,7 @@ Cambridge, MA 02139, USA. */ .global _start .global __exit .global atexit + .global main .h8300h .text @@ -53,11 +54,3 @@ empty_func: .set atexit,empty_func #endif - -/* Stick in a dummy reference to main(), so that if an application - * is linking when the main() function is in a static library (.a) - * we can be sure that main() actually gets linked in */ -L_dummy_main_reference: - .long _main - - -- cgit v1.2.3