You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(17) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(9) |
Feb
(17) |
Mar
(13) |
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(2) |
Oct
(7) |
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:47:28
|
On Wed, 2004-02-25 18:06:34 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/vax > Modified Files: > bsd-_setjmp.S bsd-setjmp.S=20 > Removed Files: > __longjmp.c setjmp.c=20 > Log Message: > port over setjmp/longjmp etc from uClibc Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:38:42
|
On Wed, 2004-02-25 18:06:34 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/vax/bits > Modified Files: > setjmp.h=20 > Log Message: > port over setjmp/longjmp etc from uClibc Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:37:05
|
On Wed, 2004-02-25 18:06:34 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/vax/elf > Modified Files: > start.S=20 > Log Message: > port over setjmp/longjmp etc from uClibc Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:36:20
|
On Tue, 2004-02-24 23:25:27 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/vax > Modified Files: > bsd-setjmp.S bsd-_setjmp.S=20 > Log Message: > add 2 to symbols Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:34:41
|
On Tue, 2004-02-24 23:24:27 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/unix/sysv/linux/vax > Modified Files: > sysdep.S=20 > Log Message: > VAX don't care about PIC Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:33:36
|
On Tue, 2004-02-24 22:48:40 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/vax > Modified Files: > dl-machine.h=20 > Log Message: > get arguments working Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: Jan-Benedict G. <jb...@lu...> - 2004-03-01 11:32:35
|
On Tue, 2004-02-24 22:31:26 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > Update of /cvsroot/linux-vax/glibc/sysdeps/vax > dl-machine.h=20 > Log Message: > two functions done, god knows how many to go :-) Copied into my tree. MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: <ai...@us...> - 2004-02-29 08:02:21
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax/elf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6664/elf Modified Files: start.S Log Message: cleanup and pass _dl_fini to the main Index: start.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/elf/start.S,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- start.S 26 Feb 2004 11:35:35 -0000 1.6 +++ start.S 29 Feb 2004 07:44:26 -0000 1.7 @@ -19,7 +19,7 @@ /* clear the frame pointer */ movl $0, %fp - + movl %r0, %r5 movl (%sp)+, %r4 movl %sp, %r3 /* r4 has argc in it .. add one to get over NULL @@ -32,7 +32,7 @@ /* start to load the arguments from the stack */ /* arguments are on ap stack */ pushl %sp - pushl $0 + pushl %r5 pushl $_fini pushl $_init pushl %r3 |
From: <ai...@us...> - 2004-02-29 08:02:21
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6664 Modified Files: dl-machine.h Log Message: cleanup and pass _dl_fini to the main Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- dl-machine.h 29 Feb 2004 05:04:55 -0000 1.12 +++ dl-machine.h 29 Feb 2004 07:44:26 -0000 1.13 @@ -130,8 +130,6 @@ We get here with the offset into the relocation table pushed on stack, and the link map in MOF. */ -#if 1 -//"; Trampoline for " #fixup_name " #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ asm( ".text\n\ .globl " #tramp_name "\n\t \ @@ -158,27 +156,6 @@ "); -#if 0 -" #tramp_name ": - push $r13 - push $r12 - push $r11 - push $r10 - push $r9 - push $srp - move.d [$sp+6*4],$r11 - move $mof,$r10 - " CALL_FN (fixup_name) " - move.d $r10,[$sp+6*4] - pop $srp - pop $r9 - pop $r10 - pop $r11 - pop $r12 - pop $r13 - jump [$sp+] -#endif - #ifndef PROF #define ELF_MACHINE_RUNTIME_TRAMPOLINE \ TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup) \ @@ -189,10 +166,7 @@ asm( ".globl _dl_runtime_profile\n" \ ".set _dl_runtime_profile, _dl_runtime_resolve"); #endif -#endif -/* FIXME */ -//#define ELF_MACHINE_RUNTIME_TRAMPOLINE /* Mask identifying addresses reserved for the user program, where the dynamic linker should not map anything. */ #define ELF_MACHINE_USER_ADDRESS_MASK 0x80000000UL @@ -225,6 +199,9 @@ addl2 %r2, %sp\n\ subl2 %r0, %r1 pushl %r1\n\ + pushal _dl_loaded\n\ + calls $4, _dl_init\n\ + moval _dl_fini, %r0\n\ jmp (%r6)\n\ .size _dl_start_user, . - _dl_start_user\n \ .previous"); @@ -354,19 +331,6 @@ case R_VAX_16: *(short *) reloc_addr = value; break; -#if 0 - case R_VAX_8_PCREL: - *(char *) reloc_addr - = value + reloc->r_addend - (Elf32_Addr) reloc_addr - 1; - break; - case R_VAX_16_PCREL: - *(short *) reloc_addr - = value + reloc->r_addend - (Elf32_Addr) reloc_addr - 2; - break; - case R_VAX_32_PCREL: - *reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr - 4; - break; -#endif #endif case R_VAX_NONE: break; |
From: <ai...@us...> - 2004-02-29 05:22:45
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18218 Modified Files: dl-machine.h Log Message: port over resolver entry trampoline from uClibc Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- dl-machine.h 26 Feb 2004 11:35:35 -0000 1.11 +++ dl-machine.h 29 Feb 2004 05:04:55 -0000 1.12 @@ -137,7 +137,22 @@ .globl " #tramp_name "\n\t \ .type " #tramp_name ", @function\n\t \ " #tramp_name ": \n\t \ + pushr $0x3ffc\n\ + movl 48(%sp), %r0\n\ + movl 52(%sp), %r1\n\ + pushl (%r1) + pushl %r0 calls $2, " #fixup_name "\n\ + movl %r0, 52(%sp)\n\ + bicw3 6(%fp), (%r0), %r1\n\ + popr $0x3ffc\n\ + bneq 4f\n\ + addl2 $4, %sp\n\ + addl2 $2, (%sp)\n\ + rsb\n\ +4: addl2 $8, %sp\n\ + callg (%ap), (%r0)\n\ + ret\n\ .size " #tramp_name ", . - " #tramp_name "\n\ .previous\n\ "); @@ -214,9 +229,6 @@ .size _dl_start_user, . - _dl_start_user\n \ .previous"); -#if 0 -#endif - /* Nonzero iff TYPE describes a relocation that should skip the executable when looking up the symbol value. */ #define elf_machine_lookup_noexec_p(type) ((type) == R_VAX_COPY) |
From: <ai...@us...> - 2004-02-27 00:30:29
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax/bits In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4368/sysdeps/vax/bits Modified Files: setjmp.h Log Message: missing ) Index: setjmp.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bits/setjmp.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- setjmp.h 26 Feb 2004 11:35:35 -0000 1.5 +++ setjmp.h 27 Feb 2004 00:14:20 -0000 1.6 @@ -19,4 +19,4 @@ /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((void *) (address) < (void *)(jmpbuf[JB_SP]) + ((void *) (address) < (void *)(jmpbuf[JB_SP])) |
From: <ai...@us...> - 2004-02-26 11:51:19
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax/elf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3519/elf Modified Files: start.S Log Message: Another batch of linker and setjmp changes Index: start.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/elf/start.S,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- start.S 26 Feb 2004 02:06:32 -0000 1.5 +++ start.S 26 Feb 2004 11:35:35 -0000 1.6 @@ -33,8 +33,8 @@ /* arguments are on ap stack */ pushl %sp pushl $0 - pushl $0 - pushl $0 + pushl $_fini + pushl $_init pushl %r3 pushl %r4 pushab main |
From: <ai...@us...> - 2004-02-26 11:51:18
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax/bits In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3519/bits Modified Files: setjmp.h Log Message: Another batch of linker and setjmp changes Index: setjmp.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bits/setjmp.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- setjmp.h 26 Feb 2004 02:06:31 -0000 1.4 +++ setjmp.h 26 Feb 2004 11:35:35 -0000 1.5 @@ -19,4 +19,4 @@ /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((void *) (address) < (void *)(jmpbuf[4]) + ((void *) (address) < (void *)(jmpbuf[JB_SP]) |
From: <ai...@us...> - 2004-02-26 11:51:18
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3519 Modified Files: dl-machine.h Added Files: __longjmp.S setjmp.S Log Message: Another batch of linker and setjmp changes --- NEW FILE: __longjmp.S --- /* Copyright (C) 1991, 1992, 1994, 1997 Free Software Foundation, Inc. Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88, Copyright (c) 1980 Regents of the University of California. The GNU C Library 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 Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "DEFS.h" ENTRY(__longjmp, R6) movl 0x4(%ap), %r0 # our scratch reg # movl $0,%r0 # movl (%r0),%r0 # we are going to modify our stack frame # to the same as that of the setjmp we called earlier movl (%r0), (%fp) # cond handler movl 0x4(%r0), 0x4(%fp) # psw movl 0x8(%r0), 0x8(%fp) # ap movl 0xc(%r0), 0xc(%fp) # fp movl 0x10(%r0), 0x10(%fp) # pc # # restore the regs movl 0x14(%r0) , %r1 movl 0x18(%r0) , %r2 movl 0x1c(%r0) , %r3 movl 0x20(%r0) , %r4 movl 0x24(%r0) , %r5 movl 0x28(%r0) , %r6 movl 0x2c(%r0) , %r7 movl 0x30(%r0) , %r8 movl 0x34(%r0) , %r9 movl 0x38(%r0) , %r10 movl 0x3c(%r0) , %r11 # # check val and set to 1 if set to zero movl 0x8(%ap), %r0 tstl %r0 bneq exit_ok movl $0x1, %r0 exit_ok: ret END(__longjmp) --- NEW FILE: setjmp.S --- # setjmp.S atp. Sept. 2001 # save regs and info needed for a longjmp #include "DEFS.h" ENTRY(__sigsetjmp, 0) movl 0x4(%ap), %r0 # our scratch reg # kenn would probably use movq here. :-) movl %r1, 0x14(%r0) # save regs movl %r2, 0x18(%r0) movl %r3, 0x1c(%r0) movl %r4, 0x20(%r0) movl %r5, 0x24(%r0) movl %r6, 0x28(%r0) movl %r7, 0x2c(%r0) movl %r8, 0x30(%r0) movl %r9, 0x34(%r0) movl %r10, 0x38(%r0) movl %r11, 0x3c(%r0) # now save our call frame movl (%fp), (%r0) # condition handler (for VMS emulation) movl 0x4(%fp), 0x4(%r0) # psw movl 0x8(%fp), 0x8(%r0) # ap movl 0xc(%fp), 0xc(%r0) # fp movl 0x10(%fp), 0x10(%r0) # pc # call the sigjmp save routine pushl 8(%ap) pushl %r0 calls $2,__sigjmp_save # done ret END(__sigsetjmp) Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- dl-machine.h 25 Feb 2004 06:48:37 -0000 1.10 +++ dl-machine.h 26 Feb 2004 11:35:35 -0000 1.11 @@ -133,10 +133,14 @@ #if 1 //"; Trampoline for " #fixup_name " #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ -asm( ".globl " #tramp_name "\n\t \ +asm( ".text\n\ + .globl " #tramp_name "\n\t \ .type " #tramp_name ", @function\n\t \ " #tramp_name ": \n\t \ - .size " #tramp_name ", . - " #tramp_name "\n"); + calls $2, " #fixup_name "\n\ + .size " #tramp_name ", . - " #tramp_name "\n\ + .previous\n\ +"); #if 0 @@ -176,7 +180,7 @@ //#define ELF_MACHINE_RUNTIME_TRAMPOLINE /* Mask identifying addresses reserved for the user program, where the dynamic linker should not map anything. */ -#define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL +#define ELF_MACHINE_USER_ADDRESS_MASK 0x80000000UL /* Initial entry point code for the dynamic linker. The C function `_dl_start' is the real entry point; @@ -192,7 +196,21 @@ .globl _dl_start_user\n\ .type _dl_start_user,@function _dl_start_user:\n\ - .word 0x0000\n\ + # save the user entry point address in r6.\n\ + movl %r0, %r6\n\ + # store the highest stack address \n\ + moval __libc_stack_end, %r0\n\ + movl %sp, (%r0)\n\ + # see if we were run as a command with the executable file\n\ + moval _dl_skip_args, %r0\n\ + movl (%r0), %r0\n\ + # pop the original argument count\n\ + movl (%sp)+, %r1\n\ + ashl $2, %r0, %r2\n\ + addl2 %r2, %sp\n\ + subl2 %r0, %r1 + pushl %r1\n\ + jmp (%r6)\n\ .size _dl_start_user, . - _dl_start_user\n \ .previous"); @@ -205,10 +223,10 @@ /* Nonzero iff TYPE describes relocation of a PLT entry, so PLT entries should not be allowed to define the value. */ -#define elf_machine_lookup_noplt_p(type) ((type) == R_VAX_JUMP_SLOT) +#define elf_machine_lookup_noplt_p(type) ((type) == R_VAX_JMP_SLOT) /* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ -#define ELF_MACHINE_JMP_SLOT R_VAX_JUMP_SLOT +#define ELF_MACHINE_JMP_SLOT R_VAX_JMP_SLOT /* CRIS never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 @@ -314,7 +332,7 @@ case R_VAX_32: #endif case R_VAX_GLOB_DAT: - case R_VAX_JUMP_SLOT: + case R_VAX_JMP_SLOT: *reloc_addr = value; break; #ifndef RTLD_BOOTSTRAP @@ -354,8 +372,8 @@ Elf32_Addr l_addr, const Elf32_Rela *reloc) { Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset); - if (__builtin_expect (ELF32_R_TYPE (reloc->r_info), R_VAX_JUMP_SLOT) - == R_VAX_JUMP_SLOT) + if (__builtin_expect (ELF32_R_TYPE (reloc->r_info), R_VAX_JMP_SLOT) + == R_VAX_JMP_SLOT) *reloc_addr += l_addr; else _dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 1); |
From: <ai...@us...> - 2004-02-26 02:34:52
|
Update of /cvsroot/linux-vax/glibc/elf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3774 Modified Files: elf.h Log Message: update relocations for VAX/ELF ABI Index: elf.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/elf/elf.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- elf.h 12 Sep 2001 23:09:04 -0000 1.2 +++ elf.h 26 Feb 2004 02:19:26 -0000 1.3 @@ -2054,23 +2054,25 @@ #define R_390_NUM 19 /* VAX relocations. */ +/* VAX relocations. */ #define R_VAX_NONE 0 -#define R_VAX_32 1 -#define R_VAX_PC32 2 -#define R_VAX_GOT32 3 -#define R_VAX_PLT32 4 -#define R_VAX_COPY 5 -#define R_VAX_GLOB_DAT 6 -#define R_VAX_JUMP_SLOT 7 -#define R_VAX_RELATIVE 8 -#define R_VAX_GOTOFF 9 -#define R_VAX_GOTPC 10 -#define R_VAX_16 20 -#define R_VAX_PC16 21 -#define R_VAX_8 22 -#define R_VAX_PC8 23 +#define R_VAX_32 1 +#define R_VAX_16 2 +#define R_VAX_8 3 +#define R_VAX_PC32 4 +#define R_VAX_PC16 5 +#define R_VAX_PC8 6 +#define R_VAX_GOT32 7 +#define R_VAX_PLT32 13 +#define R_VAX_COPY 19 +#define R_VAX_GLOB_DAT 20 +#define R_VAX_JMP_SLOT 21 +#define R_VAX_RELATIVE 22 +#define R_VAX_GNU_VTINHERIT 23 +#define R_VAX_GNU_VTENTRY 24 + +#define R_VAX_NUM 25 -#define R_VAX_NUM 24 /* CRIS relocations. */ #define R_CRIS_NONE 0 #define R_CRIS_8 1 |
From: <ai...@us...> - 2004-02-26 02:21:56
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax/bits In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1863/bits Modified Files: setjmp.h Log Message: port over setjmp/longjmp etc from uClibc Index: setjmp.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bits/setjmp.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- setjmp.h 21 Sep 2001 23:55:10 -0000 1.3 +++ setjmp.h 26 Feb 2004 02:06:31 -0000 1.4 @@ -4,16 +4,19 @@ # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." #endif +typedef int __jmp_buf[16]; +#if 0 typedef struct { void * __fp; void * __pc; void * __sp; } __jmp_buf[1]; +#endif -#define JB_SP 2 +#define JB_SP 4 /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((unsigned long int) (address) < (jmpbuf)->__sp) + ((void *) (address) < (void *)(jmpbuf[4]) |
From: <ai...@us...> - 2004-02-26 02:21:56
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax/elf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1863/elf Modified Files: start.S Log Message: port over setjmp/longjmp etc from uClibc Index: start.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/elf/start.S,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- start.S 27 Aug 2003 13:07:13 -0000 1.4 +++ start.S 26 Feb 2004 02:06:32 -0000 1.5 @@ -39,7 +39,6 @@ pushl %r4 pushab main calls $7, __libc_start_main -// calls $3, __uClibc_main halt .align 2 |
From: <ai...@us...> - 2004-02-26 02:21:56
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1863 Modified Files: bsd-_setjmp.S bsd-setjmp.S Removed Files: __longjmp.c setjmp.c Log Message: port over setjmp/longjmp etc from uClibc Index: bsd-_setjmp.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bsd-_setjmp.S,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- bsd-_setjmp.S 25 Feb 2004 07:25:24 -0000 1.6 +++ bsd-_setjmp.S 26 Feb 2004 02:06:31 -0000 1.7 @@ -21,8 +21,35 @@ We cannot do it in C because it must be a tail-call, so frame-unwinding in setjmp doesn't clobber the state restored by longjmp. */ -#include <sysdep.h> +#include "DEFS.h" + +ENTRY(_setjmp, R6) + /* push an empty word onto the stack */ + pushl $0 + /* now copy handler, psw, ap, fp and pc on the stack up one word */ + movl 4(%sp), (%sp) /* copy handler */ + movl 8(%sp), 4(%sp) /* psw */ + movl 12(%sp), 8(%sp) /* ap */ + movl 16(%sp), 12(%sp) /* fp */ + movl 20(%sp), 16(%sp) /* pc */ + movl 24(%sp), 20(%sp) /* r6 from register mask */ + + movl $2, 24(%sp) /* set the number of arguments to 2 */ + movl 32(%sp), 28(%sp) /* copy the jmp_buf */ + movl $1, 32(%sp) /* put the 1 on the stack */ + + addl3 $24, %sp, %ap + movl %sp, %fp + + moval __sigsetjmp, %r0 + addl2 $2, %r0 + pushl %r0 + rsb +END(_setjmp) + +#if 0 + ENTRY (_setjmp, 0) movl (%sp)+,%r0 /* Pop return PC. */ movl (%sp)+,%r1 /* Pop jmp_buf argument. */ @@ -31,3 +58,5 @@ pushl %r0 /* Push back return PC. */ jmp C_SYMBOL_NAME (__sigsetjmp)+2 END(_setjmp) + +#endif Index: bsd-setjmp.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bsd-setjmp.S,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- bsd-setjmp.S 25 Feb 2004 07:25:24 -0000 1.5 +++ bsd-setjmp.S 26 Feb 2004 02:06:31 -0000 1.6 @@ -21,8 +21,33 @@ We cannot do it in C because it must be a tail-call, so frame-unwinding in setjmp doesn't clobber the state restored by longjmp. */ -#include <sysdep.h> +#include "DEFS.h" + +ENTRY(setjmp, R6) + pushl $0 + /* now copy handler, psw, ap, fp and pc on the stack up one word */ + movl 4(%sp), (%sp) + movl 8(%sp), 4(%sp) + movl 12(%sp), 8(%sp) + movl 16(%sp), 12(%sp) + movl 20(%sp), 16(%sp) + movl 24(%sp), 20(%sp) /* r6 from register mask */ + + movl $2, 24(%sp) /* set the number of arguments to 2 */ + movl 32(%sp), 28(%sp) /* copy the jmp_buf */ + movl $0, 32(%sp) /* put the 0 on the stack */ + + addl3 $24, %sp, %ap + movl %sp, %fp + + moval __sigsetjmp, %r0 + addl2 $2, %r0 + pushl %r0 + rsb +END(setjmp) + +#if 0 ENTRY (setjmp, 0) movl (%sp)+,%r0 /* Pop return PC. */ movl (%sp)+,%r1 /* Pop jmp_buf argument. */ @@ -31,3 +56,5 @@ pushl %r0 /* Push back return PC. */ jmp C_SYMBOL_NAME (__sigsetjmp)+2 END(setjmp) +#endif + --- __longjmp.c DELETED --- --- setjmp.c DELETED --- |
From: <ai...@us...> - 2004-02-25 07:40:13
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15174 Modified Files: bsd-setjmp.S bsd-_setjmp.S Log Message: add 2 to symbols Index: bsd-setjmp.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bsd-setjmp.S,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- bsd-setjmp.S 16 Jan 2004 13:26:29 -0000 1.4 +++ bsd-setjmp.S 25 Feb 2004 07:25:24 -0000 1.5 @@ -29,5 +29,5 @@ pushl $1 /* Push second argument of one. */ pushl %r1 /* Push back first argument. */ pushl %r0 /* Push back return PC. */ - jmp C_SYMBOL_NAME (__sigsetjmp) + jmp C_SYMBOL_NAME (__sigsetjmp)+2 END(setjmp) Index: bsd-_setjmp.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/bsd-_setjmp.S,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- bsd-_setjmp.S 16 Jan 2004 13:26:29 -0000 1.5 +++ bsd-_setjmp.S 25 Feb 2004 07:25:24 -0000 1.6 @@ -29,5 +29,5 @@ pushl $0 /* Push second argument of zero. */ pushl %r1 /* Push back first argument. */ pushl %r0 /* Push back return PC. */ - jmp C_SYMBOL_NAME (__sigsetjmp) + jmp C_SYMBOL_NAME (__sigsetjmp)+2 END(_setjmp) |
From: <ai...@us...> - 2004-02-25 07:39:13
|
Update of /cvsroot/linux-vax/glibc/sysdeps/unix/sysv/linux/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15041 Modified Files: sysdep.S Log Message: VAX don't care about PIC Index: sysdep.S =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/unix/sysv/linux/vax/sysdep.S,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- sysdep.S 16 Jan 2004 13:28:21 -0000 1.4 +++ sysdep.S 25 Feb 2004 07:24:25 -0000 1.5 @@ -39,7 +39,6 @@ movl $EAGAIN, %r0 notb: #endif -#ifndef PIC # ifndef _LIBC_REENTRANT mnegl %r0, C_SYMBOL_NAME(errno) # else @@ -53,6 +52,5 @@ #endif movl $-1, %r0 ret -#endif END(__syscall_error) |
From: <ai...@us...> - 2004-02-25 07:03:24
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9421 Modified Files: dl-machine.h Log Message: get arguments working Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- dl-machine.h 25 Feb 2004 06:31:24 -0000 1.9 +++ dl-machine.h 25 Feb 2004 06:48:37 -0000 1.10 @@ -187,7 +187,8 @@ .globl _start\n\ _start:\n\ .word 0x0101\n\ - calls $0,_dl_start\n\ + pushl %sp\n\ + calls $1,_dl_start\n\ .globl _dl_start_user\n\ .type _dl_start_user,@function _dl_start_user:\n\ |
From: <ai...@us...> - 2004-02-25 06:46:13
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5963 Modified Files: dl-machine.h Log Message: two functions done, god knows how many to go :-) Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- dl-machine.h 23 Feb 2004 11:16:32 -0000 1.8 +++ dl-machine.h 25 Feb 2004 06:31:24 -0000 1.9 @@ -56,35 +56,27 @@ may make GCC trip over itself doing register allocation. Yes, I'm paranoid. Why do you ask? */ Elf32_Addr *got; - + __asm__("\tmoval _GLOBAL_OFFSET_TABLE_, %0\n\t":"=r"(got)); return *got; + } -/* Return the run-time load address of the shared object. We do it like - m68k and i386, by taking an arbitrary local symbol, forcing a GOT entry - for it, and peeking into the GOT table, which is set to the link-time - file-relative symbol value (regardless of whether the target is REL or - RELA). We subtract this link-time file-relative value from the "local" - value we calculate from GOT position and GOT offset. FIXME: Perhaps - there's some other symbol we could use, that we don't *have* to force a - GOT entry for. */ +/* Return the run-time load address of the shared object. */ static inline Elf32_Addr elf_machine_load_address (void) { - extern void __dl_start asm("_dl_start"); - Elf32_Addr got_addr = (Elf32_Addr) &__dl_start; + unsigned long addr, link_addr; + unsigned long *got; + + /* subtract got dynamic from real dynamic to get load_address */ + __asm__("\tmoval _GLOBAL_OFFSET_TABLE_, %0\n\t":"=r"(got)); + link_addr = *got; - // __asm__("moval _dl_start, %0\n\t" : "=r" (pcrel_addr)); - return got_addr-2; -#if 0 - Elf32_Addr gotaddr_diff; - __asm__ ("sub.d [$r0+_dl_start:GOT16],$r0,%0\n\t" - "add.d _dl_start:GOTOFF,%0" : "=r" (gotaddr_diff)); - return gotaddr_diff; -#endif - return 0; + __asm__("\tmoval _DYNAMIC, %0\n\t":"=r"(addr)); + + return addr-link_addr; } /* Set up the loaded object described by L so its unrelocated PLT |
From: Jan-Benedict G. <jb...@lu...> - 2004-02-23 12:27:50
|
On Mon, 2004-02-23 03:16:35 -0800, ai...@us... <airlied@u= sers.sourceforge.net> wrote in message <E1A...@sc...>: > --- dl-machine.h 16 Jan 2004 14:55:44 -0000 1.7 > +++ dl-machine.h 23 Feb 2004 11:16:32 -0000 1.8 > @@ -186,7 +190,18 @@ > The C function `_dl_start' is the real entry point; > its return value is the user program's entry point. */ > =20 > -#define RTLD_START=20 > +#define RTLD_START asm ("\ > + .text\n\ > + .globl _start\n\ > +_start:\n\ > + .word 0x0101\n\ > + calls $0,_dl_start\n\ > + .globl _dl_start_user\n\ > + .type _dl_start_user,@function Missing '\n\' here? ^^^ > +_dl_start_user:\n\ > + .word 0x0000\n\ > + .size _dl_start_user, . - _dl_start_user\n \ > + .previous"); I've cut'n'pasted this into my glibc-current tree (which of course doesn't yet work). MfG, JBG --=20 Jan-Benedict Glaw jb...@lu... . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier B=FCrger" | im Internet! | im Ira= k! ret =3D do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TC= PA)); |
From: <ai...@us...> - 2004-02-23 11:29:54
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19473 Modified Files: dl-machine.h Log Message: call _dl_start correctly at least Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- dl-machine.h 16 Jan 2004 14:55:44 -0000 1.7 +++ dl-machine.h 23 Feb 2004 11:16:32 -0000 1.8 @@ -73,8 +73,12 @@ static inline Elf32_Addr elf_machine_load_address (void) { + extern void __dl_start asm("_dl_start"); + Elf32_Addr got_addr = (Elf32_Addr) &__dl_start; + + // __asm__("moval _dl_start, %0\n\t" : "=r" (pcrel_addr)); + return got_addr-2; #if 0 - Elf32_Addr gotaddr_diff; __asm__ ("sub.d [$r0+_dl_start:GOT16],$r0,%0\n\t" "add.d _dl_start:GOTOFF,%0" : "=r" (gotaddr_diff)); @@ -186,7 +190,18 @@ The C function `_dl_start' is the real entry point; its return value is the user program's entry point. */ -#define RTLD_START +#define RTLD_START asm ("\ + .text\n\ + .globl _start\n\ +_start:\n\ + .word 0x0101\n\ + calls $0,_dl_start\n\ + .globl _dl_start_user\n\ + .type _dl_start_user,@function +_dl_start_user:\n\ + .word 0x0000\n\ + .size _dl_start_user, . - _dl_start_user\n \ + .previous"); #if 0 #endif |
From: <ai...@us...> - 2004-01-16 14:55:48
|
Update of /cvsroot/linux-vax/glibc/sysdeps/vax In directory sc8-pr-cvs1:/tmp/cvs-serv19218 Modified Files: dl-machine.h Log Message: find the GOT in the correct place for a start Index: dl-machine.h =================================================================== RCS file: /cvsroot/linux-vax/glibc/sysdeps/vax/dl-machine.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- dl-machine.h 16 Jan 2004 12:42:37 -0000 1.6 +++ dl-machine.h 16 Jan 2004 14:55:44 -0000 1.7 @@ -57,7 +57,7 @@ paranoid. Why do you ask? */ Elf32_Addr *got; - __asm__ ("movl %%r0, %0": "=rm" (got)); + __asm__("\tmoval _GLOBAL_OFFSET_TABLE_, %0\n\t":"=r"(got)); return *got; } |