diff options
| author | Eric Andersen <andersen@codepoet.org> | 2003-01-23 17:33:54 +0000 | 
|---|---|---|
| committer | Eric Andersen <andersen@codepoet.org> | 2003-01-23 17:33:54 +0000 | 
| commit | 100cc918a944bd0d40ecb2afc635f2b76d7cb577 (patch) | |
| tree | f2fc212c79c516ff5273b6e22262d44521c81794 | |
| parent | 1bad089bf9f29240e11216eab1109bd6a7a952fd (diff) | |
Hopefully this is correct
| -rw-r--r-- | libc/sysdeps/linux/alpha/Makefile | 17 | ||||
| -rw-r--r-- | libc/sysdeps/linux/alpha/crt0.S | 12 | 
2 files changed, 18 insertions, 11 deletions
diff --git a/libc/sysdeps/linux/alpha/Makefile b/libc/sysdeps/linux/alpha/Makefile index d7f87348c..097b320df 100644 --- a/libc/sysdeps/linux/alpha/Makefile +++ b/libc/sysdeps/linux/alpha/Makefile @@ -1,6 +1,6 @@  # Makefile for uClibc  # -# Copyright (C) 2002 Erik Andersen <andersen@uclibc.org> +# Copyright (C) 2002-2003 Erik Andersen <andersen@uclibc.org>  #  # 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,18 +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) -CRT0=crt0.S -CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0)) - +CRT0_SRC = crt0.S +CRT0_OBJ = crt0.o crt1.o  SSRC=__longjmp.S brk.S bsd-_setjmp.S bsd-setjmp.S clone.S \      setjmp.S divl.S reml.S remq.S divq.S  @@ -44,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/alpha/crt0.S b/libc/sysdeps/linux/alpha/crt0.S index 1f93a4dc4..2e2941042 100644 --- a/libc/sysdeps/linux/alpha/crt0.S +++ b/libc/sysdeps/linux/alpha/crt0.S @@ -37,6 +37,18 @@  	.globl _start  	.ent _start, 0  	.type _start,@function +#if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__ +	.type	__uClibc_main,@function +#else +	.weak	_init +	.weak	_fini +	.type	__uClibc_start_main,@function +#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 */ +	.type	main,@function +  _start:  	.frame fp, 0, zero  	mov	zero, fp  | 
