From owner-cvs-lib Sun May 5 00:56:32 1996 Return-Path: owner-cvs-lib Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id AAA14349 for cvs-lib-outgoing; Sun, 5 May 1996 00:56:32 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id AAA14309 Sun, 5 May 1996 00:56:25 -0700 (PDT) Date: Sun, 5 May 1996 00:56:25 -0700 (PDT) From: Peter Wemm Message-Id: <199605050756.AAA14309@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-lib Subject: cvs commit: src/lib/libc/gmon gmon.c src/lib/libc/i386 DEFS.h SYS.h src/lib/libc/i386/gen modf.S setjmp.S sigsetjmp.S src/lib/libc/i386/sys Ovfork.S brk.S cerror.S exect.S fork.S pipe.S ptrace.S rfork.S sbrk.S setlogin.S sigpending.S sigprocmask.S sigreturn.S sigsuspend.S syscall.S Sender: owner-cvs-lib@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/05/05 00:56:25 Modified: lib/libc/gmon gmon.c lib/libc/i386 DEFS.h SYS.h lib/libc/i386/gen modf.S setjmp.S sigsetjmp.S lib/libc/i386/sys Ovfork.S brk.S cerror.S exect.S fork.S pipe.S ptrace.S rfork.S sbrk.S setlogin.S sigpending.S sigprocmask.S sigreturn.S sigsuspend.S syscall.S Log: Add support to enable libc to be compiled in ELF format. (#ifdef __ELF__) In a nutshell, this macroizes the local/global symbol scoping rules that are different in a.out and ELF. It also makes the i386 assembler stubs conform to i386 PIC calling conventions - the a.out ld.so didn't object, but the ELF one needs it as it implements PIC jumps via PLT's as well as calls. The a.out rtld only worked because it was accidently snooping the grandparent calling function's return address off the stack.. This also affects the libc_r code a little, because of cpp macro nesting. Revision Changes Path 1.3 +4 -0 src/lib/libc/gmon/gmon.c 1.3 +28 -10 src/lib/libc/i386/DEFS.h 1.4 +16 -17 src/lib/libc/i386/SYS.h 1.3 +6 -6 src/lib/libc/i386/gen/modf.S 1.5 +10 -6 src/lib/libc/i386/gen/setjmp.S 1.7 +10 -6 src/lib/libc/i386/gen/sigsetjmp.S 1.4 +13 -15 src/lib/libc/i386/sys/Ovfork.S 1.3 +16 -17 src/lib/libc/i386/sys/brk.S 1.5 +15 -12 src/lib/libc/i386/sys/cerror.S 1.3 +5 -4 src/lib/libc/i386/sys/exect.S 1.4 +7 -3 src/lib/libc/i386/sys/fork.S 1.4 +7 -3 src/lib/libc/i386/sys/pipe.S 1.3 +7 -6 src/lib/libc/i386/sys/ptrace.S 1.2 +7 -3 src/lib/libc/i386/sys/rfork.S 1.4 +19 -20 src/lib/libc/i386/sys/sbrk.S 1.3 +5 -5 src/lib/libc/i386/sys/setlogin.S 1.4 +7 -3 src/lib/libc/i386/sys/sigpending.S 1.4 +6 -5 src/lib/libc/i386/sys/sigprocmask.S 1.4 +9 -10 src/lib/libc/i386/sys/sigreturn.S 1.4 +6 -5 src/lib/libc/i386/sys/sigsuspend.S 1.3 +5 -4 src/lib/libc/i386/sys/syscall.S