You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(12) |
Nov
|
Dec
|
2003 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
(1) |
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(35) |
May
(9) |
Jun
(10) |
Jul
|
Aug
(6) |
Sep
(23) |
Oct
(24) |
Nov
(18) |
Dec
(81) |
2006 |
Jan
(37) |
Feb
(2) |
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(23) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Jan-Benedict G. <jb...@us...> - 2005-12-12 21:55:09
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4577 Added Files: glibc-000000-experimental.patch Log Message: - Starting to hack GNU libc. --- NEW FILE: glibc-000000-experimental.patch --- diff -Nurp glibc-clean/sysdeps/generic/ldsodefs.h glibc/sysdeps/generic/ldsodefs.h --- glibc-clean/sysdeps/generic/ldsodefs.h 2005-11-22 22:30:14.000000000 +0100 +++ glibc/sysdeps/generic/ldsodefs.h 2005-12-12 21:01:54.000000000 +0100 @@ -211,6 +211,8 @@ struct La_sparc32_regs; struct La_sparc32_retval; struct La_sparc64_regs; struct La_sparc64_retval; +struct La_vax_regs; +struct La_vax_retval; struct audit_ifaces { @@ -292,6 +294,11 @@ struct audit_ifaces const struct La_sparc64_regs *, unsigned int *, const char *name, long int *framesizep); + Elf32_Addr (*vax_gnu_pltenter) (Elf32_Sym *, unsigned int, + uintptr_t *, uintptr_t *, + const struct La_vax_regs *, + unsigned int *, const char *name, + long int *framesizep); #ifdef ARCH_PLTENTER_MEMBERS ARCH_PLTENTER_MEMBERS; #endif @@ -363,6 +370,11 @@ struct audit_ifaces const struct La_sparc32_regs *, struct La_sparc32_retval *, const char *); + unsigned int (*vax_gnu_pltexit) (Elf32_Sym *, unsigned int, + uintptr_t *, uintptr_t *, + const struct La_vax_regs *, + struct La_vax_retval *, + const char *); #ifdef ARCH_PLTEXIT_MEMBERS ARCH_PLTEXIT_MEMBERS; #endif diff -Nurp glibc-clean/sysdeps/unix/sysv/linux/vax/bits/fcntl.h glibc/sysdeps/unix/sysv/linux/vax/bits/fcntl.h --- glibc-clean/sysdeps/unix/sysv/linux/vax/bits/fcntl.h 1970-01-01 01:00:00.000000000 +0100 +++ glibc/sysdeps/unix/sysv/linux/vax/bits/fcntl.h 2005-12-12 19:58:40.000000000 +0100 @@ -0,0 +1,141 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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. */ + +#ifndef _FCNTL_H +# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." +#endif + + +#include <sys/types.h> + +/* open/fcntl - O_SYNC is only implemented on blocks devices and on files + located on an ext2 file system */ +#define O_ACCMODE 0003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 0100 /* not fcntl */ +#define O_EXCL 0200 /* not fcntl */ +#define O_NOCTTY 0400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_NDELAY O_NONBLOCK +#define O_SYNC 010000 +#define O_FSYNC O_SYNC +#define O_ASYNC 020000 + +#ifdef __USE_GNU +# define O_DIRECTORY 040000 /* Must be a directory. */ +# define O_NOFOLLOW 0100000 /* Do not follow links. */ +#endif + +/* XXX missing */ +#ifdef __USE_LARGEFILE64 +# define O_LARGEFILE 0 +#endif + +/* For now Linux has synchronisity options for data and read operations. + We define the symbols here but let them do the same as O_SYNC since + this is a superset. */ +#if defined __USE_POSIX199309 || defined __USE_UNIX98 +# define O_DSYNC O_SYNC /* Synchronize data. */ +# define O_RSYNC O_SYNC /* Synchronize read operations. */ +#endif + +/* Values for the second argument to `fcntl'. */ +#define F_DUPFD 0 /* Duplicate file descriptor. */ +#define F_GETFD 1 /* Get file descriptor flags. */ +#define F_SETFD 2 /* Set file descriptor flags. */ +#define F_GETFL 3 /* Get file status flags. */ +#define F_SETFL 4 /* Set file status flags. */ +#define F_GETLK 5 /* Get record locking info. */ +#define F_SETLK 6 /* Set record locking info (non-blocking). */ +#define F_SETLKW 7 /* Set record locking info (blocking). */ + +/* XXX missing */ +#define F_GETLK64 5 /* Get record locking info. */ +#define F_SETLK64 6 /* Set record locking info (non-blocking). */ +#define F_SETLKW64 7 /* Set record locking info (blocking). */ + +#ifdef __USE_BSD +# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */ +# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */ +#endif + +#ifdef __USE_GNU +# define F_SETSIG 10 /* Set number of signal to be sent. */ +# define F_GETSIG 11 /* Get number of signal to be sent. */ +#endif + +/* For F_[GET|SET]FL. */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ +#define F_RDLCK 0 /* Read lock. */ +#define F_WRLCK 1 /* Write lock. */ +#define F_UNLCK 2 /* Remove lock. */ + +/* for old implementation of bsd flock () */ +#define F_EXLCK 4 /* or 3 */ +#define F_SHLCK 8 /* or 4 */ + +#ifdef __USE_BSD +/* Operations for bsd flock(), also used by the kernel implementation */ +# define LOCK_SH 1 /* shared lock */ +# define LOCK_EX 2 /* exclusive lock */ +# define LOCK_NB 4 /* or'd with one of the above to prevent + blocking */ +# define LOCK_UN 8 /* remove lock */ +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Define some more compatibility macros to be backward compatible with + BSD systems which did not managed to hide these kernel macros. */ +#ifdef __USE_BSD +# define FAPPEND O_APPEND +# define FFSYNC O_FSYNC +# define FASYNC O_ASYNC +# define FNONBLOCK O_NONBLOCK +# define FNDELAY O_NDELAY +#endif /* Use BSD. */ diff -Nurp glibc-clean/sysdeps/vax/bits/endian.h glibc/sysdeps/vax/bits/endian.h --- glibc-clean/sysdeps/vax/bits/endian.h 1970-01-01 01:00:00.000000000 +0100 +++ glibc/sysdeps/vax/bits/endian.h 2005-12-12 19:50:57.000000000 +0100 @@ -0,0 +1,7 @@ +/* VAX is little-endian. */ + +#ifndef _ENDIAN_H +# error "Never use <bits/endian.h> directly; include <endian.h> instead." +#endif + +#define __BYTE_ORDER __LITTLE_ENDIAN diff -Nurp glibc-clean/sysdeps/vax/bits/link.h glibc/sysdeps/vax/bits/link.h --- glibc-clean/sysdeps/vax/bits/link.h 1970-01-01 01:00:00.000000000 +0100 +++ glibc/sysdeps/vax/bits/link.h 2005-12-12 21:08:29.000000000 +0100 @@ -0,0 +1,56 @@ +/* Copyright (C) 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _LINK_H +# error "Never include <bits/link.h> directly; use <link.h> instead." +#endif + + +/* Registers for entry into PLT on VAX. */ +typedef struct La_vax_regs +{ + uint32_t lr_a0; + uint32_t lr_a1; + uint32_t lr_sp; +} La_vax_regs; + +/* Return values for calls from PLT on VAX. */ +typedef struct La_vax_retval +{ + uint32_t lrv_d0; + uint32_t lrv_d1; + uint32_t lrv_a0; + long double lrv_fp0; +} La_vax_retval; + +__BEGIN_DECLS +extern Elf32_Addr la_vax_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_vax_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_vax_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_vax_regs *__inregs, + La_vax_retval *__outregs, + const char *symname); +__END_DECLS + diff -Nurp glibc-clean/sysdeps/vax/dl-machine.h glibc/sysdeps/vax/dl-machine.h --- glibc-clean/sysdeps/vax/dl-machine.h 1970-01-01 01:00:00.000000000 +0100 +++ glibc/sysdeps/vax/dl-machine.h 2005-12-12 22:42:00.000000000 +0100 @@ -0,0 +1,293 @@ +/* Machine-dependent ELF dynamic relocation inline functions. m68k version. + Copyright (C) 1996-2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef dl_machine_h +#define dl_machine_h + +#define ELF_MACHINE_NAME "vax" + +#include <sys/param.h> + +/* Return nonzero iff ELF header is compatible with the running host. */ +static inline int +elf_machine_matches_host (const Elf32_Ehdr *ehdr) +{ + return ehdr->e_machine == EM_VAX; +} + + +/* Return the link-time address of _DYNAMIC. Conveniently, this is the + first element of the GOT. This must be inlined in a function which + uses global data. */ +static inline Elf32_Addr +elf_machine_dynamic (void) +{ +#error "Not yet implemented -- this is from m68k" + register Elf32_Addr *got asm ("%a5"); + return *got; +} + + +/* Return the run-time load address of the shared object. */ +static inline Elf32_Addr +elf_machine_load_address (void) +{ +#error "Not yet implemented -- this is from m68k" + Elf32_Addr addr; + asm ("lea _dl_start(%%pc), %0\n\t" + "sub.l _dl_start@GOT.w(%%a5), %0" + : "=a" (addr)); + return addr; +} + + +/* Set up the loaded object described by L so its unrelocated PLT + entries will jump to the on-demand fixup code in dl-runtime.c. */ + +static inline int __attribute__ ((always_inline)) +elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) +{ +#error "Not yet implemented -- this is from m68k" + Elf32_Addr *got; + extern void _dl_runtime_resolve (Elf32_Word); + extern void _dl_runtime_profile (Elf32_Word); + + if (l->l_info[DT_JMPREL] && lazy) + { + /* The GOT entries for functions in the PLT have not yet been + filled in. Their initial contents will arrange when called + to push an offset into the .rela.plt section, push + _GLOBAL_OFFSET_TABLE_[1], and then jump to + _GLOBAL_OFFSET_TABLE_[2]. */ + got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]); + got[1] = (Elf32_Addr) l; /* Identify this shared object. */ + + /* The got[2] entry contains the address of a function which gets + called to get the address of a so far unresolved function and + jump to it. The profiling extension of the dynamic linker allows + to intercept the calls to collect information. In this case we + don't store the address in the GOT so that all future calls also + end in this function. */ + if (profile) + { + got[2] = (Elf32_Addr) &_dl_runtime_profile; + + if (GLRO(dl_profile) != NULL + && _dl_name_match_p (GLRO(dl_profile), l)) + { + /* This is the object we are looking for. Say that we really + want profiling and the timers are started. */ + GL(dl_profile_map) = l; + } + } + else + /* This function will get called to fix up the GOT entry indicated by + the offset on the stack, and then jump to the resolved address. */ + got[2] = (Elf32_Addr) &_dl_runtime_resolve; + } + + return lazy; +} + +#define ELF_MACHINE_RUNTIME_FIXUP_ARGS long int save_a0, long int save_a1 + + +/* Mask identifying addresses reserved for the user program, + where the dynamic linker should not map anything. */ +#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; + its return value is the user program's entry point. */ + +#define RTLD_START asm ("\ + .text\n\ + .globl _start\n\ + .type _start,@function\n\ +_start:\n\ + move.l %sp, -(%sp)\n\ + jbsr _dl_start\n\ + addq.l #4, %sp\n\ + /* FALLTHRU */\n\ +\n\ + .globl _dl_start_user\n\ + .type _dl_start_user,@function\n\ +_dl_start_user:\n\ + | Save the user entry point address in %a4.\n\ + move.l %d0, %a4\n\ + | See if we were run as a command with the executable file\n\ + | name as an extra leading argument.\n\ + move.l _dl_skip_args(%pc), %d0\n\ + | Pop the original argument count\n\ + move.l (%sp)+, %d1\n\ + | Subtract _dl_skip_args from it.\n\ + sub.l %d0, %d1\n\ + | Adjust the stack pointer to skip _dl_skip_args words.\n\ + lea (%sp, %d0*4), %sp\n\ + | Push back the modified argument count.\n\ + move.l %d1, -(%sp)\n\ + # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ + pea 8(%sp, %d1*4)\n\ + pea 8(%sp)\n\ + move.l %d1, -(%sp)\n\ + move.l _rtld_local(%pc), -(%sp)\n\ + jbsr _dl_init_internal@PLTPC\n\ + addq.l #8, %sp\n\ + addq.l #8, %sp\n\ + | Pass our finalizer function to the user in %a1.\n\ + lea _dl_fini(%pc), %a1\n\ + | Initialize %fp with the stack pointer.\n\ + move.l %sp, %fp\n\ + | Jump to the user's entry point.\n\ + jmp (%a4)\n\ + .size _dl_start_user, . - _dl_start_user\n\ + .previous"); + +/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so + PLT entries should not be allowed to define the value. + ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one + of the main executable's symbols, as for a COPY reloc. */ +#define elf_machine_type_class(type) \ + ((((type) == R_68K_JMP_SLOT) * ELF_RTYPE_CLASS_PLT) \ + | (((type) == R_68K_COPY) * ELF_RTYPE_CLASS_COPY)) + +/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ +#define ELF_MACHINE_JMP_SLOT R_68K_JMP_SLOT + +/* The m68k never uses Elf32_Rel relocations. */ +#define ELF_MACHINE_NO_REL 1 + +static inline Elf32_Addr +elf_machine_fixup_plt (struct link_map *map, lookup_t t, + const Elf32_Rela *reloc, + Elf32_Addr *reloc_addr, Elf32_Addr value) +{ + return *reloc_addr = value; +} + +/* Return the final value of a plt relocation. On the m68k the JMP_SLOT + relocation ignores the addend. */ +static inline Elf32_Addr +elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, + Elf32_Addr value) +{ + return value; +} + +/* Names of the architecture-specific auditing callback functions. */ +#define ARCH_LA_PLTENTER vax_gnu_pltenter +#define ARCH_LA_PLTEXIT vax_gnu_pltexit + +#endif /* !dl_machine_h */ + +#ifdef RESOLVE_MAP + +/* Perform the relocation specified by RELOC and SYM (which is fully resolved). + MAP is the object containing the reloc. */ + +auto inline void __attribute__ ((unused, always_inline)) +elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, + const Elf32_Sym *sym, const struct r_found_version *version, + void *const reloc_addr_arg) +{ + Elf32_Addr *const reloc_addr = reloc_addr_arg; + const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); + + if (__builtin_expect (r_type == R_68K_RELATIVE, 0)) + *reloc_addr = map->l_addr + reloc->r_addend; + else + { + const Elf32_Sym *const refsym = sym; + struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type); + Elf32_Addr value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value; + + switch (r_type) + { + case R_68K_COPY: + if (sym == NULL) + /* This can happen in trace mode if an object could not be + found. */ + break; + if (sym->st_size > refsym->st_size + || (sym->st_size < refsym->st_size && GLRO(dl_verbose))) + { + const char *strtab; + + strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]); + _dl_error_printf ("\ +%s: Symbol `%s' has different size in shared object, consider re-linking\n", + rtld_progname ?: "<program name unknown>", + strtab + refsym->st_name); + } + memcpy (reloc_addr_arg, (void *) value, + MIN (sym->st_size, refsym->st_size)); + break; + case R_68K_GLOB_DAT: + case R_68K_JMP_SLOT: + *reloc_addr = value; + break; + case R_68K_8: + *(char *) reloc_addr = value + reloc->r_addend; + break; + case R_68K_16: + *(short *) reloc_addr = value + reloc->r_addend; + break; + case R_68K_32: + *reloc_addr = value + reloc->r_addend; + break; + case R_68K_PC8: + *(char *) reloc_addr + = value + reloc->r_addend - (Elf32_Addr) reloc_addr; + break; + case R_68K_PC16: + *(short *) reloc_addr + = value + reloc->r_addend - (Elf32_Addr) reloc_addr; + break; + case R_68K_PC32: + *reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr; + break; + case R_68K_NONE: /* Alright, Wilbur. */ + break; + default: + _dl_reloc_bad_type (map, r_type, 0); + break; + } + } +} + +auto inline void __attribute__ ((unused, always_inline)) +elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, + void *const reloc_addr_arg) +{ + Elf32_Addr *const reloc_addr = reloc_addr_arg; + *reloc_addr = l_addr + reloc->r_addend; +} + +auto inline void __attribute__ ((unused, always_inline)) +elf_machine_lazy_rel (struct link_map *map, + Elf32_Addr l_addr, const Elf32_Rela *reloc) +{ + Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset); + if (ELF32_R_TYPE (reloc->r_info) == R_68K_JMP_SLOT) + *reloc_addr += l_addr; + else + _dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 1); +} + +#endif /* RESOLVE_MAP */ diff -Nurp glibc-clean/sysdeps/vax/Implies glibc/sysdeps/vax/Implies --- glibc-clean/sysdeps/vax/Implies 1970-01-01 01:00:00.000000000 +0100 +++ glibc/sysdeps/vax/Implies 2005-12-12 19:49:25.000000000 +0100 @@ -0,0 +1 @@ +wordsize-32 |
From: Jan-Benedict G. <jb...@us...> - 2005-12-12 21:53:25
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4222 Modified Files: build_toolchain.sh Log Message: - This is just to remind myself how to start building GNU libc. Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- build_toolchain.sh 12 Dec 2005 13:17:49 -0000 1.35 +++ build_toolchain.sh 12 Dec 2005 21:53:17 -0000 1.36 @@ -242,6 +242,7 @@ BUILD_LD=1 BUILD_GCC1=1 BUILD_UCLIBC=0 +BUILD_GLIBC=0 BUILD_GCC2=1 GCC1_EXTRA_LANGUAGES= case "${TARGET}" in @@ -257,10 +258,12 @@ vax*linux-*) GCC1_EXTRA_LANGUAGES=",c++" KERNEL_ARCH=vax + BUILD_GLIBC=1 ;; vax*linux|vax*linux-gnu) GCC1_EXTRA_LANGUAGES=",c++" KERNEL_ARCH=vax + BUILD_GLIBC=1 ;; vax*netbsd) KERNEL_ARCH=vax @@ -615,6 +618,27 @@ # +# Build GNU libc +# +if [ "${BUILD_GLIBC}" -ne 0 ]; then + # This is only here because I'd probably forget how I started + # to work on GNU libc. So this is my external brain... + # + # The --with-headers part is important, --with-sysinclude + # probably isn't... + CC=vax-linux-gcc ../../src/glibc/configure \ + --target=vax-linux \ + --disable-sanity-checks \ + --host=vax-linux \ + --with-sysinclude=/home/jbglaw/vax-linux/scm/test-for-glibc/src/linux/include \ + --with-headers=/home/jbglaw/vax-linux/scm/test-for-glibc/src/linux/include \ + --disable-shared \ + --enable-static + make +fi + + +# # Build binutils to run on the target system # pushd "${BINUTILS_NATIVE_BUILD}" |
From: Jan-Benedict G. <jb...@us...> - 2005-12-12 13:19:51
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6488 Added Files: uclibc-000026-fix-mmap.patch Log Message: - Fix breakage... --- NEW FILE: uclibc-000026-fix-mmap.patch --- diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/_mmap.c src-uclibc-hacked/libc/sysdeps/linux/vax/_mmap.c --- src-uclibc-fresh/libc/sysdeps/linux/vax/_mmap.c 2005-12-12 00:09:41.000000000 +0100 +++ src-uclibc-hacked/libc/sysdeps/linux/vax/_mmap.c 2005-12-12 00:14:57.000000000 +0100 @@ -4,4 +4,13 @@ #include <errno.h> #include <sys/syscall.h> -_syscall6(void *, mmap, void *, start, size_t, length, int, prot, int, flags, int, fd, off_t, offset); +#define __NR___mmap __NR_mmap +attribute_hidden _syscall6 (__ptr_t, __mmap, + __ptr_t, addr, + size_t, len, + int, prot, + int, flags, + int, fd, + __off_t, offset); +strong_alias (__mmap,mmap) + |
From: Jan-Benedict G. <jb...@us...> - 2005-12-12 13:17:58
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5896 Modified Files: build_toolchain.sh Log Message: - Work around further uClibc breakage... Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- build_toolchain.sh 11 Dec 2005 20:34:29 -0000 1.34 +++ build_toolchain.sh 12 Dec 2005 13:17:49 -0000 1.35 @@ -655,6 +655,7 @@ pushd "${GCC1_NATIVE_BUILD}" # Configure CC="${TARGET}-gcc" LDFLAGS=-static CFLAGS=-static \ + ac_cv_func_strncmp_works=yes \ execute "${GCC_SRC}/configure" \ --disable-multilib \ --with-newlib \ @@ -673,7 +674,8 @@ ${WERROR} # Build - build "${BUILD_GCC1}" && execute make ${MAKEFLAGS} all-gcc + build "${BUILD_GCC1}" && ac_cv_func_strncmp_works=yes execute \ + make ${MAKEFLAGS} all-gcc # Install build "${BUILD_GCC1}" && \ |
From: Jan-Benedict G. <jb...@us...> - 2005-12-11 20:34:43
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6765 Modified Files: build_toolchain.sh Log Message: - Trick libiberty's configure into thinking that there's a working native strncmp() even in the cross-compilation case. - No thanks to uClibc guys who changed symbol visibility to be incompatible with that one of GNU libc (to which they by the way claim compatibility...) Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- build_toolchain.sh 10 Dec 2005 15:27:21 -0000 1.33 +++ build_toolchain.sh 11 Dec 2005 20:34:29 -0000 1.34 @@ -620,15 +620,19 @@ pushd "${BINUTILS_NATIVE_BUILD}" # Configure CC="${TARGET}-gcc" LDFLAGS=-static CFLAGS=-static \ + ac_cv_func_strncmp_works=yes \ execute "${BINUTILS_SRC}/configure" \ --host="${TARGET}" \ --build="`${BINUTILS_SRC}/config.guess`" \ - --target="${TARGET}" --prefix=/usr + --target="${TARGET}" --prefix=/usr ${WERROR} # Build - build "${BUILD_BINUTILS}" && execute make ${MAKEFLAGS} all-binutils - build "${BUILD_BINUTILS}" && execute make ${MAKEFLAGS} all-gas - build "${BUILD_BINUTILS}" && execute make ${MAKEFLAGS} all-ld + build "${BUILD_BINUTILS}" && ac_cv_func_strncmp_works=yes \ + execute make ${MAKEFLAGS} all-binutils + build "${BUILD_BINUTILS}" && ac_cv_func_strncmp_works=yes \ + execute make ${MAKEFLAGS} all-gas + build "${BUILD_BINUTILS}" && ac_cv_func_strncmp_works=yes \ + execute make ${MAKEFLAGS} all-ld # Install build "${BUILD_BINUTILS}" && \ |
From: Jan-Benedict G. <jb...@us...> - 2005-12-11 20:31:06
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5828 Modified Files: gcc-000006-urem-udiv.patch Log Message: - Remove write_symbols clearing from one patch. It's already in a different one and came here when I fucked up rediffing... Index: gcc-000006-urem-udiv.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/gcc-000006-urem-udiv.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- gcc-000006-urem-udiv.patch 9 Dec 2005 21:46:18 -0000 1.3 +++ gcc-000006-urem-udiv.patch 11 Dec 2005 20:30:52 -0000 1.4 @@ -175,20 +175,6 @@ #undef TARGET_ASM_OUTPUT_MI_THUNK #define TARGET_ASM_OUTPUT_MI_THUNK vax_output_mi_thunk -@@ -98,6 +102,13 @@ override_options (void) - /* We're VAX floating point, not IEEE floating point. */ - if (TARGET_G_FLOAT) - REAL_MODE_FORMAT (DFmode) = &vax_g_format; -+ -+ if (write_symbols != NO_DEBUG) -+ { -+ warning (0, "-g is only supported when using GAS on this processor,"); -+ warning (0, "-g option disabled"); -+ write_symbols = NO_DEBUG; -+ } - } - - /* Generate the assembly code for function entry. FILE is a stdio @@ -155,6 +166,7 @@ vax_file_start (void) fprintf (asm_out_file, "___vax_%c_doubles:\n", ASM_DOUBLE_CHAR); } |
From: Jan-Benedict G. <jb...@us...> - 2005-12-10 15:27:30
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14583 Modified Files: build_toolchain.sh Log Message: - Remove comment. It seems to work. Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- build_toolchain.sh 30 Nov 2005 21:26:28 -0000 1.32 +++ build_toolchain.sh 10 Dec 2005 15:27:21 -0000 1.33 @@ -447,7 +447,6 @@ fi if [ "${DO_TIMESTAMP_UCLIBC}" -ne 0 ]; then pushd "${UCLIBC_SRC}" - echo "Updating sources with SVN to reflect the state of a given timestamp hasn't ever been tested\!" >&2 execute --restart 6 svn update -r "${TIMESTAMP_UCLIBC}" popd fi |
From: Jan-Benedict G. <jb...@us...> - 2005-12-09 22:14:40
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23936 Added Files: uclibc-000025-config-wchar.patch Log Message: - Enable 'wchar' support. This'll work around some problems in upstream uClibc code because it seems uClibc isn't tested anymore without wchar support... --- NEW FILE: uclibc-000025-config-wchar.patch --- --- foo/.config 2005-11-30 00:52:27.000000000 +0100 +++ foo/.config 2005-11-30 00:55:04.000000000 +0100 @@ -8,6 +8,7 @@ # TARGET_e1 is not set # TARGET_frv is not set # TARGET_h8300 is not set +# TARGET_hppa is not set # TARGET_i386 is not set # TARGET_i960 is not set # TARGET_m68k is not set @@ -84,11 +85,10 @@ UCLIBC_HAS_CTYPE_UNSAFE=y # UCLIBC_HAS_CTYPE_CHECKED is not set # UCLIBC_HAS_CTYPE_ENFORCED is not set -# UCLIBC_HAS_WCHAR is not set +UCLIBC_HAS_WCHAR=y # UCLIBC_HAS_LOCALE is not set UCLIBC_HAS_HEXADECIMAL_FLOATS=y # UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set -# USE_OLD_VFPRINTF is not set UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 # UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set # UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set @@ -130,13 +130,9 @@ DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/usr/" # -# uClibc security related options -# -# UCLIBC_SECURITY is not set - -# # Security options # +# HAVE_NO_SSP is not set # UCLIBC_HAS_SSP is not set # UCLIBC_BUILD_NOEXECSTACK is not set |
From: Jan-Benedict G. <jb...@us...> - 2005-12-09 22:13:14
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23826 Modified Files: uclibc-000007-nonnegative_floats_config_option.patch Log Message: - Rediff. Index: uclibc-000007-nonnegative_floats_config_option.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/uclibc-000007-nonnegative_floats_config_option.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- uclibc-000007-nonnegative_floats_config_option.patch 16 Nov 2005 11:07:47 -0000 1.2 +++ uclibc-000007-nonnegative_floats_config_option.patch 9 Dec 2005 22:13:06 -0000 1.3 @@ -1,6 +1,6 @@ diff -Nurp src-uclibc-fresh/extra/Configs/Config.in.arch src-uclibc-hacked/extra/Configs/Config.in.arch --- src-uclibc-fresh/extra/Configs/Config.in.arch 2005-11-11 08:49:02.000000000 +0100 -+++ src-uclibc-hacked/extra/Configs/Config.in.arch 2005-11-16 01:53:33.000000000 +0100 ++++ src-uclibc-hacked/extra/Configs/Config.in.arch 2005-12-09 22:51:24.000000000 +0100 @@ -29,8 +29,8 @@ config ARCH_HAS_MMU default y depends !ARCH_HAS_NO_MMU @@ -49,8 +49,8 @@ config KERNEL_SOURCE diff -Nurp src-uclibc-fresh/libc/stdio/_fpmaxtostr.c src-uclibc-hacked/libc/stdio/_fpmaxtostr.c ---- src-uclibc-fresh/libc/stdio/_fpmaxtostr.c 2005-11-15 23:21:14.000000000 +0100 -+++ src-uclibc-hacked/libc/stdio/_fpmaxtostr.c 2005-11-16 01:53:33.000000000 +0100 +--- src-uclibc-fresh/libc/stdio/_fpmaxtostr.c 2005-12-09 19:39:12.000000000 +0100 ++++ src-uclibc-hacked/libc/stdio/_fpmaxtostr.c 2005-12-09 23:01:49.000000000 +0100 @@ -17,7 +17,7 @@ typedef size_t (__fp_outfunc_t)(FILE *fp /* Copyright (C) 2000, 2001, 2003 Manuel Novoa III @@ -119,14 +119,14 @@ cnt += num_groups * tslen; /* Adjust count now for sep chars. */ --/* printf("\n"); */ -+/* printf("\n"); */ +-/* __printf("\n"); */ ++/* __printf("\n"); */ do { if (!blk) { /* Initial group could be 0 digits long! */ blk = nblk2; } else if (len >= blk) { /* Enough digits for a group. */ --/* printf("norm: len=%d blk=%d \"%.*s\"\n", len, blk, blk, gp); */ -+/* printf("norm: len=%d blk=%d \"%.*s\"\n", len, blk, blk, gp); */ +-/* __printf("norm: len=%d blk=%d \"%.*s\"\n", len, blk, blk, gp); */ ++/* __printf("norm: len=%d blk=%d \"%.*s\"\n", len, blk, blk, gp); */ if (fp_outfunc(fp, *ppc, blk, (intptr_t) gp) != blk) { return -1; } @@ -134,11 +134,11 @@ } len -= blk; } else { /* Transition to 0s. */ --/* printf("trans: len=%d blk=%d \"%.*s\"\n", len, blk, len, gp); */ -+/* printf("trans: len=%d blk=%d \"%.*s\"\n", len, blk, len, gp); */ +-/* __printf("trans: len=%d blk=%d \"%.*s\"\n", len, blk, len, gp); */ ++/* __printf("trans: len=%d blk=%d \"%.*s\"\n", len, blk, len, gp); */ if (len) { --/* printf("len\n"); */ -+/* printf("len\n"); */ +-/* __printf("len\n"); */ ++/* __printf("len\n"); */ if (fp_outfunc(fp, *ppc, len, (intptr_t) gp) != len) { return -1; } @@ -146,8 +146,8 @@ } if (ppc[3] == FPO_ZERO_PAD) { /* Need to group 0s */ --/* printf("zeropad\n"); */ -+/* printf("zeropad\n"); */ +-/* __printf("zeropad\n"); */ ++/* __printf("zeropad\n"); */ cnt += ppc[1]; ppc += 3; gp = (const char *) ppc[2]; @@ -155,8 +155,8 @@ } blk = nblk2; --/* printf("num_groups=%d blk=%d\n", num_groups, blk); */ -+/* printf("num_groups=%d blk=%d\n", num_groups, blk); */ +-/* __printf("num_groups=%d blk=%d\n", num_groups, blk); */ ++/* __printf("num_groups=%d blk=%d\n", num_groups, blk); */ } while (1); } else |
From: Jan-Benedict G. <jb...@us...> - 2005-12-09 21:46:27
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17349 Modified Files: gcc-000003-add-vax-linux-target.patch gcc-000006-urem-udiv.patch Log Message: - Rediff. Index: gcc-000006-urem-udiv.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/gcc-000006-urem-udiv.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gcc-000006-urem-udiv.patch 8 Oct 2005 21:16:24 -0000 1.2 +++ gcc-000006-urem-udiv.patch 9 Dec 2005 21:46:18 -0000 1.3 @@ -1,6 +1,6 @@ diff -Nurp src-gcc-fresh/gcc/config/vax/lib1funcs.S src-gcc-hacked/gcc/config/vax/lib1funcs.S --- src-gcc-fresh/gcc/config/vax/lib1funcs.S 1970-01-01 01:00:00.000000000 +0100 -+++ src-gcc-hacked/gcc/config/vax/lib1funcs.S 2005-10-08 23:14:20.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/lib1funcs.S 2005-12-09 22:19:00.000000000 +0100 @@ -0,0 +1,86 @@ +/* + * Assembly functions for the VAX version of libgcc1. @@ -89,8 +89,8 @@ +#endif /* L_umodsi3 */ + diff -Nurp src-gcc-fresh/gcc/config/vax/linux.h src-gcc-hacked/gcc/config/vax/linux.h ---- src-gcc-fresh/gcc/config/vax/linux.h 2005-10-08 23:13:57.000000000 +0200 -+++ src-gcc-hacked/gcc/config/vax/linux.h 2005-10-08 23:14:20.000000000 +0200 +--- src-gcc-fresh/gcc/config/vax/linux.h 2005-12-09 22:18:14.000000000 +0100 ++++ src-gcc-hacked/gcc/config/vax/linux.h 2005-12-09 22:19:00.000000000 +0100 @@ -28,4 +28,8 @@ * the ELF binary format. */ @@ -101,8 +101,8 @@ + #endif /* _CONFIG_VAX_LINUX_H */ diff -Nurp src-gcc-fresh/gcc/config/vax/netbsd.h src-gcc-hacked/gcc/config/vax/netbsd.h ---- src-gcc-fresh/gcc/config/vax/netbsd.h 2005-06-26 15:39:59.000000000 +0200 -+++ src-gcc-hacked/gcc/config/vax/netbsd.h 2005-10-08 23:14:20.000000000 +0200 +--- src-gcc-fresh/gcc/config/vax/netbsd.h 2005-10-28 18:32:14.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/netbsd.h 2005-12-09 22:19:00.000000000 +0100 @@ -46,3 +46,7 @@ Boston, MA 02110-1301, USA. */ /* We use gas, not the UNIX assembler. */ #undef TARGET_DEFAULT @@ -112,8 +112,8 @@ +#define HAVE___UDIV___UREM_IN_LIBC + diff -Nurp src-gcc-fresh/gcc/config/vax/openbsd1.h src-gcc-hacked/gcc/config/vax/openbsd1.h ---- src-gcc-fresh/gcc/config/vax/openbsd1.h 2005-06-26 15:39:59.000000000 +0200 -+++ src-gcc-hacked/gcc/config/vax/openbsd1.h 2005-10-08 23:14:20.000000000 +0200 +--- src-gcc-fresh/gcc/config/vax/openbsd1.h 2005-10-28 18:32:14.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/openbsd1.h 2005-12-09 22:19:00.000000000 +0100 @@ -19,5 +19,9 @@ the Free Software Foundation, 51 Frankli Boston, MA 02110-1301, USA. */ @@ -126,8 +126,8 @@ +#define HAVE___UDIV___UREM_IN_LIBC + diff -Nurp src-gcc-fresh/gcc/config/vax/openbsd.h src-gcc-hacked/gcc/config/vax/openbsd.h ---- src-gcc-fresh/gcc/config/vax/openbsd.h 2005-06-26 15:39:59.000000000 +0200 -+++ src-gcc-hacked/gcc/config/vax/openbsd.h 2005-10-08 23:14:20.000000000 +0200 +--- src-gcc-fresh/gcc/config/vax/openbsd.h 2005-10-28 18:32:14.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/openbsd.h 2005-12-09 22:19:00.000000000 +0100 @@ -44,3 +44,7 @@ Boston, MA 02110-1301, USA. */ #undef WCHAR_TYPE_SIZE @@ -138,15 +138,15 @@ + diff -Nurp src-gcc-fresh/gcc/config/vax/t-vax src-gcc-hacked/gcc/config/vax/t-vax --- src-gcc-fresh/gcc/config/vax/t-vax 1970-01-01 01:00:00.000000000 +0100 -+++ src-gcc-hacked/gcc/config/vax/t-vax 2005-10-08 23:14:20.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/t-vax 2005-12-09 22:19:00.000000000 +0100 @@ -0,0 +1,4 @@ +# LIB1ASMSRC = vax/lib1funcs.S +# LIB1ASMFUNCS = _udivsi3 _uremsi3 +# LIB1ASMSRC = $(srcdir)/config/udivmod.c $(srcdir)/config/udivmodsi4.c +LIB2FUNCS_EXTRA = $(srcdir)/config/udivmod.c $(srcdir)/config/udivmodsi4.c diff -Nurp src-gcc-fresh/gcc/config/vax/vax.c src-gcc-hacked/gcc/config/vax/vax.c ---- src-gcc-fresh/gcc/config/vax/vax.c 2005-10-08 23:14:04.000000000 +0200 -+++ src-gcc-hacked/gcc/config/vax/vax.c 2005-10-08 23:14:20.000000000 +0200 +--- src-gcc-fresh/gcc/config/vax/vax.c 2005-10-28 18:32:14.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/vax.c 2005-12-09 22:19:00.000000000 +0100 @@ -46,13 +46,15 @@ Boston, MA 02110-1301, USA. */ static void vax_output_function_prologue (FILE *, HOST_WIDE_INT); @@ -175,7 +175,21 @@ #undef TARGET_ASM_OUTPUT_MI_THUNK #define TARGET_ASM_OUTPUT_MI_THUNK vax_output_mi_thunk -@@ -162,6 +166,7 @@ vax_file_start (void) +@@ -98,6 +102,13 @@ override_options (void) + /* We're VAX floating point, not IEEE floating point. */ + if (TARGET_G_FLOAT) + REAL_MODE_FORMAT (DFmode) = &vax_g_format; ++ ++ if (write_symbols != NO_DEBUG) ++ { ++ warning (0, "-g is only supported when using GAS on this processor,"); ++ warning (0, "-g option disabled"); ++ write_symbols = NO_DEBUG; ++ } + } + + /* Generate the assembly code for function entry. FILE is a stdio +@@ -155,6 +166,7 @@ vax_file_start (void) fprintf (asm_out_file, "___vax_%c_doubles:\n", ASM_DOUBLE_CHAR); } @@ -183,7 +197,7 @@ /* We can use the BSD C library routines for the libgcc calls that are still generated, since that's what they boil down to anyways. When ELF, avoid the user's namespace. */ -@@ -172,6 +177,7 @@ vax_init_libfuncs (void) +@@ -165,6 +177,7 @@ vax_init_libfuncs (void) set_optab_libfunc (udiv_optab, SImode, TARGET_ELF ? "*__udiv" : "*udiv"); set_optab_libfunc (umod_optab, SImode, TARGET_ELF ? "*__urem" : "*urem"); } @@ -192,9 +206,9 @@ /* This is like nonimmediate_operand with a restriction on the type of MEM. */ diff -Nurp src-gcc-fresh/gcc/config.gcc src-gcc-hacked/gcc/config.gcc ---- src-gcc-fresh/gcc/config.gcc 2005-10-08 23:13:57.000000000 +0200 -+++ src-gcc-hacked/gcc/config.gcc 2005-10-08 23:14:20.000000000 +0200 -@@ -2253,9 +2253,11 @@ vax-*-sysv*) # VAXen running system V +--- src-gcc-fresh/gcc/config.gcc 2005-12-09 22:18:14.000000000 +0100 ++++ src-gcc-hacked/gcc/config.gcc 2005-12-09 22:19:00.000000000 +0100 +@@ -2260,9 +2260,11 @@ vax-*-sysv*) # VAXen running system V ;; vax-*-linux-uclibc*) # VAXen running Linux ELF with uClibc tm_file="${tm_file} elfos.h linux.h vax/elf.h vax/uclinux.h" Index: gcc-000003-add-vax-linux-target.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/gcc-000003-add-vax-linux-target.patch,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- gcc-000003-add-vax-linux-target.patch 8 Oct 2005 21:16:24 -0000 1.9 +++ gcc-000003-add-vax-linux-target.patch 9 Dec 2005 21:46:17 -0000 1.10 @@ -1,6 +1,6 @@ diff -Nurp src-gcc-fresh/gcc/config/vax/linux.h src-gcc-hacked/gcc/config/vax/linux.h --- src-gcc-fresh/gcc/config/vax/linux.h 1970-01-01 01:00:00.000000000 +0100 -+++ src-gcc-hacked/gcc/config/vax/linux.h 2005-10-08 23:12:11.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/linux.h 2005-12-09 21:57:45.000000000 +0100 @@ -0,0 +1,31 @@ +#ifndef _CONFIG_VAX_LINUX_H +/* @@ -35,7 +35,7 @@ +#endif /* _CONFIG_VAX_LINUX_H */ diff -Nurp src-gcc-fresh/gcc/config/vax/uclinux.h src-gcc-hacked/gcc/config/vax/uclinux.h --- src-gcc-fresh/gcc/config/vax/uclinux.h 1970-01-01 01:00:00.000000000 +0100 -+++ src-gcc-hacked/gcc/config/vax/uclinux.h 2005-10-08 23:12:11.000000000 +0200 ++++ src-gcc-hacked/gcc/config/vax/uclinux.h 2005-12-09 21:57:45.000000000 +0100 @@ -0,0 +1,31 @@ +#ifndef _CONFIG_VAX_UCLINUX_H +/* @@ -69,9 +69,9 @@ + +#endif /* _CONFIG_VAX_UCLINUX_H */ diff -Nurp src-gcc-fresh/gcc/config.gcc src-gcc-hacked/gcc/config.gcc ---- src-gcc-fresh/gcc/config.gcc 2005-10-08 22:17:33.000000000 +0200 -+++ src-gcc-hacked/gcc/config.gcc 2005-10-08 23:12:11.000000000 +0200 -@@ -2251,6 +2251,12 @@ vax-*-sysv*) # VAXen running system V +--- src-gcc-fresh/gcc/config.gcc 2005-11-30 21:09:05.000000000 +0100 ++++ src-gcc-hacked/gcc/config.gcc 2005-12-09 21:57:45.000000000 +0100 +@@ -2258,6 +2258,12 @@ vax-*-sysv*) # VAXen running system V tmake_file=vax/t-memfuncs use_fixproto=yes ;; |
From: Jan-Benedict G. <jb...@us...> - 2005-12-09 20:33:04
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2357 Modified Files: binutils-000002-add_vax-uclinux.patch binutils-000003-ld_add_vax-uclinux_target.patch Log Message: - Rediff. Index: binutils-000002-add_vax-uclinux.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/binutils-000002-add_vax-uclinux.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- binutils-000002-add_vax-uclinux.patch 8 Oct 2005 21:05:04 -0000 1.3 +++ binutils-000002-add_vax-uclinux.patch 9 Dec 2005 20:32:50 -0000 1.4 @@ -1,7 +1,7 @@ diff -Nurp src-binutils-fresh/bfd/config.bfd src-binutils-hacked/bfd/config.bfd ---- src-binutils-fresh/bfd/config.bfd 2005-09-30 20:54:01.000000000 +0200 -+++ src-binutils-hacked/bfd/config.bfd 2005-10-08 22:54:55.000000000 +0200 -@@ -1345,6 +1345,10 @@ case "${targ}" in +--- src-binutils-fresh/bfd/config.bfd 2005-10-26 01:52:43.000000000 +0200 ++++ src-binutils-hacked/bfd/config.bfd 2005-12-09 21:12:02.000000000 +0100 +@@ -1346,6 +1346,10 @@ case "${targ}" in targ_defvec=bfd_elf32_vax_vec ;; @@ -13,8 +13,8 @@ targ_defvec=vms_vax_vec ;; diff -Nurp src-binutils-fresh/bfd/configure.in src-binutils-hacked/bfd/configure.in ---- src-binutils-fresh/bfd/configure.in 2005-09-30 20:54:01.000000000 +0200 -+++ src-binutils-hacked/bfd/configure.in 2005-10-08 22:54:55.000000000 +0200 +--- src-binutils-fresh/bfd/configure.in 2005-11-03 20:58:03.000000000 +0100 ++++ src-binutils-hacked/bfd/configure.in 2005-12-09 21:12:02.000000000 +0100 @@ -370,7 +370,7 @@ changequote([,])dnl TRAD_HEADER='"hosts/tahoe.h"' ;; Index: binutils-000003-ld_add_vax-uclinux_target.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/binutils-000003-ld_add_vax-uclinux_target.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- binutils-000003-ld_add_vax-uclinux_target.patch 8 Oct 2005 21:05:04 -0000 1.2 +++ binutils-000003-ld_add_vax-uclinux_target.patch 9 Dec 2005 20:32:50 -0000 1.3 @@ -1,6 +1,6 @@ diff -Nurp src-binutils-fresh/ld/configure.tgt src-binutils-hacked/ld/configure.tgt ---- src-binutils-fresh/ld/configure.tgt 2005-09-30 20:54:32.000000000 +0200 -+++ src-binutils-hacked/ld/configure.tgt 2005-10-08 22:58:19.000000000 +0200 +--- src-binutils-fresh/ld/configure.tgt 2005-10-26 01:52:50.000000000 +0200 ++++ src-binutils-hacked/ld/configure.tgt 2005-12-09 21:16:16.000000000 +0100 @@ -547,7 +547,7 @@ vax-*-netbsdelf*) targ_emul=elf32vax vax-*-netbsdaout* | vax-*-netbsd*) targ_emul=vaxnbsd @@ -10,9 +10,9 @@ ;; w65-*-*) targ_emul=w65 ;; -@@ -555,7 +555,7 @@ xstormy16-*-*) targ_emul=elf32xstormy16 +@@ -557,7 +557,7 @@ xtensa-*-*) targ_emul=elf32xtensa ;; - xtensa-*-*) targ_emul=elf32xtensa + z80-*-coff) targ_emul=z80 ;; -z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 +z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 |
From: Jan-Benedict G. <jb...@us...> - 2005-12-09 20:11:16
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30463 Added Files: compare_buildlog.sh Log Message: - This script compares two build logs (eg. generated with --log-to-file or by redirecting the script's output into a file). It basically substitutes the timestamp with some xxxxxxxx-xxxxxx and diffs out the two resulting files. --- NEW FILE: compare_buildlog.sh --- #!/bin/sh TEMP1FILE="`tempfile`" TEMP2FILE="`tempfile`" if [ $# -ne 2 ]; then echo "$0 buildlog1 buildlog2" >&2 exit 1 fi cat "$1" | sed -e 's/[[:digit:]]\{8\}-[[:digit:]]\{6\}/xxxxxxxx-xxxxxx/g' > "${TEMP1FILE}" cat "$2" | sed -e 's/[[:digit:]]\{8\}-[[:digit:]]\{6\}/xxxxxxxx-xxxxxx/g' > "${TEMP2FILE}" diff -u "${TEMP1FILE}" "${TEMP2FILE}" rm -f "${TEMP1FILE}" "${TEMP2FILE}" |
From: Jan-Benedict G. <jb...@us...> - 2005-11-30 21:26:40
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5043 Modified Files: build_toolchain.sh Log Message: - This single line of code installs a uClibc into the install-native directory. Now you've got a complete VAX-hosted toolchain that can at least compile a working "Hello World!" program. Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- build_toolchain.sh 30 Nov 2005 16:53:16 -0000 1.31 +++ build_toolchain.sh 30 Nov 2005 21:26:28 -0000 1.32 @@ -589,6 +589,7 @@ # Install build "${BUILD_GCC1}" && execute make install + build "${BUILD_GCC1}" && execute make DEVEL_PREFIX="${INSTALL_NATIVE_BASE}/usr/${TARGET}/" install case "${TARGET}" in vax-*) |
From: Jan-Benedict G. <jb...@us...> - 2005-11-30 16:53:29
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31122 Modified Files: build_toolchain.sh Log Message: - Remove extra {} - GCC is now manages by SVN, bye-bye CVS... Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- build_toolchain.sh 16 Nov 2005 12:00:41 -0000 1.30 +++ build_toolchain.sh 30 Nov 2005 16:53:16 -0000 1.31 @@ -437,7 +437,7 @@ fi if [ "${DO_TIMESTAMP_GCC}" -ne 0 ]; then pushd "${GCC_SRC}" - execute --restart 6 cvs -z9 update -d -P -D "${TIMESTAMP_GCC}" + execute --restart 6 svn update -r "${TIMESTAMP_GCC}" popd fi if [ "${DO_TIMESTAMP_GLIBC}" -ne 0 ]; then @@ -448,7 +448,7 @@ if [ "${DO_TIMESTAMP_UCLIBC}" -ne 0 ]; then pushd "${UCLIBC_SRC}" echo "Updating sources with SVN to reflect the state of a given timestamp hasn't ever been tested\!" >&2 - execute --restart 6 svn update -r "{${TIMESTAMP_UCLIBC}}" + execute --restart 6 svn update -r "${TIMESTAMP_UCLIBC}" popd fi |
From: Jan-Benedict G. <jb...@us...> - 2005-11-29 17:13:41
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30957 Added Files: uclibc-000024-fix_syscalls.patch Log Message: - Heeeeyyah! This brings us actually working syscalls. - My little test application now presents "useful" stat data. - Homework to be done: * Fix kernel's version of the syscall macros in asm/unistd.h * To do this, first update the scripts to actually use the GIT version of the kernel, not the CVS version (which I'll update with regard to the syscall macros anyways). * Start building fresh userland :-) --- NEW FILE: uclibc-000024-fix_syscalls.patch --- diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/syscalls.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/syscalls.h --- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/syscalls.h 2005-11-29 16:54:17.000000000 +0100 +++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/syscalls.h 2005-11-29 17:12:04.000000000 +0100 @@ -43,9 +43,12 @@ type name (void) \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl $0x0 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $4, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0) \ : _syscall_clobbers); \ @@ -64,10 +67,13 @@ type name (type1 arg1) \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl %2 \n" \ " pushl $0x1 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $8, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0), \ "m" (arg1) \ @@ -88,11 +94,14 @@ type name (type1 arg1, \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl %3 \n" \ " pushl %2 \n" \ " pushl $0x2 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $12, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0), \ "m" (arg1), \ @@ -115,12 +124,15 @@ type name (type1 arg1, \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl %4 \n" \ " pushl %3 \n" \ " pushl %2 \n" \ " pushl $0x3 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $16, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0), \ "m" (arg1), \ @@ -146,6 +158,7 @@ type name (type1 arg1, \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl %5 \n" \ " pushl %4 \n" \ " pushl %3 \n" \ @@ -153,6 +166,8 @@ type name (type1 arg1, \ " pushl $0x4 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $20, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0), \ "m" (arg1), \ @@ -180,6 +195,7 @@ type name (type1 arg1, \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl %6 \n" \ " pushl %5 \n" \ " pushl %4 \n" \ @@ -188,6 +204,8 @@ type name (type1 arg1, \ " pushl $0x5 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $24, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0), \ "m" (arg1), \ @@ -217,6 +235,7 @@ type name (type1 arg1, \ long _sc_ret; \ \ __asm__ __volatile__ ( \ + " pushl %%ap \n" \ " pushl %7 \n" \ " pushl %6 \n" \ " pushl %5 \n" \ @@ -226,6 +245,8 @@ type name (type1 arg1, \ " pushl $0x6 \n" \ " movl %%sp, %%ap \n" \ " chmk %%r0 \n" \ + " addl2 $28, %%sp \n" \ + " movl (%%sp)+, %%ap \n" \ : "=r" (_sc_0) \ : "0" (_sc_0), \ "m" (arg1), \ |
From: Jan-Benedict G. <jb...@us...> - 2005-11-18 08:25:48
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1111 Added Files: uclibc-000023-libm-10-atan-cosh-sinh.patch Log Message: - atan() and friends - cosh() and friends - sinh() and friends - DO NOT RELY ON THEM!!! --- NEW FILE: uclibc-000023-libm-10-atan-cosh-sinh.patch --- diff -Nurp src-uclibc-fresh/libm-vax/atan.c src-uclibc-hacked/libm-vax/atan.c --- src-uclibc-fresh/libm-vax/atan.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/atan.c 2005-11-18 08:35:12.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double atanl (long double value); + +double +atan (double value) +{ + return atanl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/atanf.c src-uclibc-hacked/libm-vax/atanf.c --- src-uclibc-fresh/libm-vax/atanf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/atanf.c 2005-11-18 08:34:43.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double atanl (long double value); + +float +atanf (float value) +{ + return atanl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/atanl.c src-uclibc-hacked/libm-vax/atanl.c --- src-uclibc-fresh/libm-vax/atanl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/atanl.c 2005-11-18 08:38:49.000000000 +0100 @@ -0,0 +1,22 @@ +#include "_foo_libmath.h" + +static long double +taylor_atanl (long double value, unsigned long long k) +{ + return _exp_ld_ll_ll (-1, k) + * _exp_ld_ld_ll (value, 2 * k + 1) + / (long double) (2 * k + 1); +} + +long double +atanl (long double value) +{ + long double taylor_sum = 0.0L; + unsigned long long n; + + for (n = 0; n < ATAN_NUM_TAYLOR; n++) + taylor_sum += taylor_atanl (value, n); + + return taylor_sum; +} + diff -Nurp src-uclibc-fresh/libm-vax/cosh.c src-uclibc-hacked/libm-vax/cosh.c --- src-uclibc-fresh/libm-vax/cosh.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/cosh.c 2005-11-18 08:31:29.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double coshl (long double value); + +double +cosh (double value) +{ + return coshl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/coshf.c src-uclibc-hacked/libm-vax/coshf.c --- src-uclibc-fresh/libm-vax/coshf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/coshf.c 2005-11-18 08:30:45.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double coshl (long double value); + +float +coshf (float value) +{ + return coshl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/coshl.c src-uclibc-hacked/libm-vax/coshl.c --- src-uclibc-fresh/libm-vax/coshl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/coshl.c 2005-11-18 08:32:38.000000000 +0100 @@ -0,0 +1,21 @@ +#include "_foo_libmath.h" + +static long double +taylor_coshl (long double value, unsigned long long n) +{ + return _exp_ld_ld_ll (value, 2*n) + / _internal_facultaet_ld (2*n); +} + +long double +coshl (long double value) +{ + long double result = 0.0L; + unsigned long long n; + + for (n = 0; n < COSH_NUM_TAYLOR; n++) + result += taylor_coshl (value, n); + + return result; +} + diff -Nurp src-uclibc-fresh/libm-vax/_foo_libmath.h src-uclibc-hacked/libm-vax/_foo_libmath.h --- src-uclibc-fresh/libm-vax/_foo_libmath.h 2005-11-18 08:14:41.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_foo_libmath.h 2005-11-18 08:39:27.000000000 +0100 @@ -8,9 +8,13 @@ */ #define SIN_NUM_TAYLOR 30 #define COS_NUM_TAYLOR 30 + #define ASIN_NUM_TAYLOR 30 #define ACOS_NUM_TAYLOR 30 +#define ATAN_NUM_TAYLOR 30 +#define SINH_NUM_TAYLOR 30 +#define COSH_NUM_TAYLOR 30 /* diff -Nurp src-uclibc-fresh/libm-vax/Makefile src-uclibc-hacked/libm-vax/Makefile --- src-uclibc-fresh/libm-vax/Makefile 2005-11-18 08:14:41.000000000 +0100 +++ src-uclibc-hacked/libm-vax/Makefile 2005-11-18 08:38:00.000000000 +0100 @@ -3,12 +3,15 @@ AR=$(TARGET)ar CC=$(TARGET)gcc CFLAGS= -OBJ= sinf.o sin.o sinl.o \ +OBJ= fabsf.o fabs.o fabsl.o \ + sinf.o sin.o sinl.o \ cosf.o cos.o cosl.o \ - fabsf.o fabs.o fabsl.o \ tanf.o tan.o tanl.o \ asinf.o asin.o asinl.o \ acosf.o acos.o acosl.o \ + atanf.o atan.o atanl.o \ + sinhf.o sinh.o sinhl.o \ + coshf.o cosh.o coshl.o \ _internal_facultaet.o \ _internal_exp.o \ _internal_binominal_r_over_n.o diff -Nurp src-uclibc-fresh/libm-vax/sinh.c src-uclibc-hacked/libm-vax/sinh.c --- src-uclibc-fresh/libm-vax/sinh.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinh.c 2005-11-18 08:27:21.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double sinhl (long double value); + +double +sinh (double value) +{ + return sinhl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/sinhf.c src-uclibc-hacked/libm-vax/sinhf.c --- src-uclibc-fresh/libm-vax/sinhf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinhf.c 2005-11-18 08:25:51.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double sinhl (long double value); + +float +sinh (float value) +{ + return sinhl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/sinhl.c src-uclibc-hacked/libm-vax/sinhl.c --- src-uclibc-fresh/libm-vax/sinhl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinhl.c 2005-11-18 08:29:19.000000000 +0100 @@ -0,0 +1,21 @@ +#include "_foo_libmath.h" + +static long double +taylor_sinhl (long double value, unsigned long long n) +{ + return _exp_ld_ld_ll (value, 2*n+1) + / _internal_facultaet_ld (2*n+1); +} + +long double +sinhl (long double value) +{ + unsigned long long n; + long double result = 0.0L; + + for (n = 0; n < SINH_NUM_TAYLOR; n++) + result += taylor_sinhl (value, n); + + return result; +} + |
From: Jan-Benedict G. <jb...@us...> - 2005-11-16 12:01:14
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21660 Modified Files: build_toolchain.sh Log Message: - ACK new questions. Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- build_toolchain.sh 12 Nov 2005 16:54:39 -0000 1.29 +++ build_toolchain.sh 16 Nov 2005 12:00:41 -0000 1.30 @@ -582,7 +582,7 @@ # Prepare build "${BUILD_UCLIBC}" && execute ./extra/scripts/create_makefiles.sh - build "${BUILD_UCLIBC}" && execute make oldconfig + build "${BUILD_UCLIBC}" && (yes "" | execute make oldconfig;) # Build build "${BUILD_GCC1}" && execute make ${MAKEFLAGS} |
From: Jan-Benedict G. <jb...@us...> - 2005-11-16 11:55:31
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20445 Added Files: uclibc-000014-libm-2-abs.patch uclibc-000015-libm-3-centralize_constants.patch uclibc-000016-libm-4-tan.patch uclibc-000017-libm-5-asin.patch uclibc-000018-libm-6-cleanup.patch uclibc-000019-libm-7-acos.patch uclibc-000020-libm-8-fix-internal_exp.patch uclibc-000021-libm-9-better_tests.patch Log Message: - Some more libm functions. - DO NOT RELY ON THEM!!! - They mostly seem to work, though. - The arcus functions need a touchup: they're precise IFF the input value is near zero, but they get horribly unprecise if the input value tends towards 1... Maybe I'd add another Taylor series based on 0.9 or something. --- NEW FILE: uclibc-000019-libm-7-acos.patch --- diff -Nurp src-uclibc-fresh/libm-vax/acos.c src-uclibc-hacked/libm-vax/acos.c --- src-uclibc-fresh/libm-vax/acos.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/acos.c 2005-11-13 15:55:47.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double acosl (long double value); + +double +acos (double value) +{ + return acosl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/acosf.c src-uclibc-hacked/libm-vax/acosf.c --- src-uclibc-fresh/libm-vax/acosf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/acosf.c 2005-11-13 15:56:17.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double acosl (long double value); + +float +acosf (float value) +{ + return acosl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/acosl.c src-uclibc-hacked/libm-vax/acosl.c --- src-uclibc-fresh/libm-vax/acosl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/acosl.c 2005-11-13 15:54:58.000000000 +0100 @@ -0,0 +1,32 @@ +#include "_foo_libmath.h" + +extern long double fabsl (long double value); + +static long double +taylor_acosl (long double value, long long k) +{ + return _internal_binominal_r_over_n (-0.5L, k) + * _exp_ld_ll_ll (-1, k) + * _exp_ld_ld_ll (value, 2 * k + 1) + / (long double) (2 * k + 1); +} + +long double +acosl (long double value) +{ + long double taylor_sum = _FOO_PI_LD / 2.0L; + long long n; + + if (fabsl (value) > 1.0L) return 0.0L; /* FIXME: return NaN and raise FP exception */ + if (value == -1.0L) return _FOO_PI_LD; + if (value == 0.0L) return _FOO_PI_LD / 2.0L; + if (value == 1.0L) return 0.0L; + if (value == -_FOO_SQRT_2_LD / 2.0L) return 3.0L * _FOO_PI_LD / 4.0L; + if (value == _FOO_SQRT_2_LD / 2.0L) return _FOO_PI_LD / 4.0L; + + for (n = 0; n < ACOS_NUM_TAYLOR; n++) + taylor_sum -= taylor_acosl (value, n); + + return taylor_sum; +} + diff -Nurp src-uclibc-fresh/libm-vax/_foo_libmath.h src-uclibc-hacked/libm-vax/_foo_libmath.h --- src-uclibc-fresh/libm-vax/_foo_libmath.h 2005-11-13 15:40:21.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_foo_libmath.h 2005-11-13 15:56:57.000000000 +0100 @@ -9,6 +9,7 @@ #define SIN_NUM_TAYLOR 30 #define COS_NUM_TAYLOR 30 #define ASIN_NUM_TAYLOR 30 +#define ACOS_NUM_TAYLOR 30 @@ -23,6 +24,10 @@ #define _FOO_PI_D 3.14159265358979323846264338327950288419716939937510 #define _FOO_PI_F 3.14159265358979323846264338327950288419716939937510F +/* http://de.wikipedia.org/wiki/Wurzel_aus_2#Nachkommastellen_der_Wurzel_2 */ +#define _FOO_SQRT_2_LD 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727L +#define _FOO_SQRT_2_D 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727 +#define _FOO_SQRT_2_F 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727F /* * diff -Nurp src-uclibc-fresh/libm-vax/Makefile src-uclibc-hacked/libm-vax/Makefile --- src-uclibc-fresh/libm-vax/Makefile 2005-11-13 15:26:02.000000000 +0100 +++ src-uclibc-hacked/libm-vax/Makefile 2005-11-13 15:56:29.000000000 +0100 @@ -8,6 +8,7 @@ OBJ= sinf.o sin.o sinl.o \ fabsf.o fabs.o fabsl.o \ tanf.o tan.o tanl.o \ asinf.o asin.o asinl.o \ + acosf.o acos.o acosl.o \ _internal_facultaet.o \ _internal_exp.o \ _internal_binominal_r_over_n.o --- NEW FILE: uclibc-000015-libm-3-centralize_constants.patch --- diff -Nurp src-uclibc-fresh/libm-vax/cosl.c src-uclibc-hacked/libm-vax/cosl.c --- src-uclibc-fresh/libm-vax/cosl.c 2005-11-12 20:40:15.000000000 +0100 +++ src-uclibc-hacked/libm-vax/cosl.c 2005-11-12 21:22:50.000000000 +0100 @@ -1,11 +1,10 @@ -/* http://en.wikipedia.org/wiki/Pi */ -#define __VAX_PI 3.14159265358979323846264338327950288419716939937510L +#include "_foo_libmath.h" static long double taylor_cosl (long double x, int i) { - long double divisor = 1.0; - long double dividend = 1.0; + long double divisor = 1.0L; + long double dividend = 1.0L; int n; for (n = 0; n < i; n++) { @@ -14,7 +13,7 @@ taylor_cosl (long double x, int i) } if (i % 4 == 2) - divisor *= -1.0; + divisor *= -1.0L; return divisor / dividend; } @@ -22,32 +21,32 @@ taylor_cosl (long double x, int i) long double cosl (long double x) { - long double result = 0.0; + long double result = 0.0L; int n_pi; int i; /* sin(-x) = -sin(x) */ - if (x < 0.0) + if (x < 0.0L) return cosl (-x); /* left-shift x to be in [0..2pi[ */ - n_pi = x / __VAX_PI; + n_pi = x / _FOO_PI_LD; if (n_pi >= 2) - x -= (n_pi/2*2) * __VAX_PI; + x -= (n_pi/2*2) * _FOO_PI_LD; /* [pi..2pi[ is negatively mapped to [0..pi[ */ - if (x >= __VAX_PI) - return -cosl (x - __VAX_PI); + if (x >= _FOO_PI_LD) + return -cosl (x - _FOO_PI_LD); /* Mirror [pi/2..pi] -> [pi/2..0] */ - if (x >= __VAX_PI/2.0) - return -cosl (__VAX_PI - x); + if (x >= _FOO_PI_LD/2.0L) + return -cosl (_FOO_PI_LD - x); /* * The remaining part which is not solved recursively is in * the range of [0..pi/2] and will be approximated by a polynom. */ - for (i = 0; i < 30; i += 2) + for (i = 0; i < SIN_COS_NUM_TAYLOR; i += 2) result += taylor_cosl (x, i); return result; diff -Nurp src-uclibc-fresh/libm-vax/_foo_libmath.h src-uclibc-hacked/libm-vax/_foo_libmath.h --- src-uclibc-fresh/libm-vax/_foo_libmath.h 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_foo_libmath.h 2005-11-12 21:21:54.000000000 +0100 @@ -0,0 +1,24 @@ +#ifndef _FOO_LIBMATH_H +#define _FOO_LIBMATH_H + +/* + * + * Tuning parameters + * + */ +#define SIN_COS_NUM_TAYLOR 30 + + + +/* + * + * Some constants, for INTERNAL USE ONLY!!! + * + */ + +/* http://en.wikipedia.org/wiki/Pi */ +#define _FOO_PI_LD 3.14159265358979323846264338327950288419716939937510L +#define _FOO_PI_D 3.14159265358979323846264338327950288419716939937510 +#define _FOO_PI_F 3.14159265358979323846264338327950288419716939937510F + +#endif /* _FOO_LIBMATH_H */ diff -Nurp src-uclibc-fresh/libm-vax/sinl.c src-uclibc-hacked/libm-vax/sinl.c --- src-uclibc-fresh/libm-vax/sinl.c 2005-11-12 20:40:15.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinl.c 2005-11-12 21:22:04.000000000 +0100 @@ -1,11 +1,10 @@ -/* http://en.wikipedia.org/wiki/Pi */ -#define __VAX_PI 3.14159265358979323846264338327950288419716939937510L +#include "_foo_libmath.h" static long double taylor_sinl (long double x, int i) { - long double divisor = 1.0; - long double dividend = 1.0; + long double divisor = 1.0L; + long double dividend = 1.0L; int n; for (n = 0; n < i; n++) { @@ -14,7 +13,7 @@ taylor_sinl (long double x, int i) } if (i % 4 == 3) - divisor *= -1.0; + divisor *= -1.0L; return divisor / dividend; } @@ -22,32 +21,32 @@ taylor_sinl (long double x, int i) long double sinl (long double x) { - long double result = 0.0; + long double result = 0.0L; int n_pi; int i; /* sin(-x) = -sin(x) */ - if (x < 0.0) + if (x < 0.0L) return -sinl (-x); /* left-shift x to be in [0..2pi[ */ - n_pi = x / __VAX_PI; + n_pi = x / _FOO_PI_LD; if (n_pi >= 2) - x -= (n_pi/2*2) * __VAX_PI; + x -= (n_pi/2*2) * _FOO_PI_LD; /* [pi..2pi[ is negatively mapped to [0..pi[ */ - if (x >= __VAX_PI) - return -sinl (x - __VAX_PI); + if (x >= _FOO_PI_LD) + return -sinl (x - _FOO_PI_LD); /* Mirror [pi/2..pi] -> [pi/2..0] */ - if (x >= __VAX_PI/2.0) - return sinl (__VAX_PI - x); + if (x >= _FOO_PI_LD/2.0L) + return sinl (_FOO_PI_LD - x); /* * The remaining part which is not solved recursively is in * the range of [0..pi/2] and will be approximated by a polynom. */ - for (i = 1; i < 30; i += 2) + for (i = 1; i < SIN_COS_NUM_TAYLOR; i += 2) result += taylor_sinl (x, i); return result; --- NEW FILE: uclibc-000017-libm-5-asin.patch --- diff -Nurp src-uclibc-fresh/libm-vax/asin.c src-uclibc-hacked/libm-vax/asin.c --- src-uclibc-fresh/libm-vax/asin.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/asin.c 2005-11-13 15:22:07.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double asinl (long double value); + +double +asin (double value) +{ + return asinl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/asinf.c src-uclibc-hacked/libm-vax/asinf.c --- src-uclibc-fresh/libm-vax/asinf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/asinf.c 2005-11-13 15:22:36.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double asinl (long double value); + +float +asinf (float value) +{ + return asinl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/asinl.c src-uclibc-hacked/libm-vax/asinl.c --- src-uclibc-fresh/libm-vax/asinl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/asinl.c 2005-11-13 15:18:33.000000000 +0100 @@ -0,0 +1,31 @@ +#include "_foo_libmath.h" + +extern long double fabsl (long double value); + +/* http://de.wikipedia.org/wiki/Arcussinus */ +static long double +taylor_asinl (long double value, long long k) +{ + return _internal_binominal_r_over_n (-0.5L, k) + * _exp_ld_ll_ll (-1, k) + * _exp_ld_ld_ll (value, 2 * k + 1) + / (long double) (2 * k + 1); +} + +long double +asinl (long double value) +{ + long double taylor_sum = 0.0L; + long long n; + + if (fabsl (value) > 1.0L) return 0.0L; /* FIXME: return NaN and raise FP exception */ + if (value == 0.0L) return 0.0L; + if (value == 1.0L) return _FOO_PI_LD/2.0L; + if (value == -1.0L) return -_FOO_PI_LD/2.0L; + + for (n = 0; n < ASIN_NUM_TAYLOR; n++) + taylor_sum += taylor_asinl (value, n); + + return taylor_sum; +} + diff -Nurp src-uclibc-fresh/libm-vax/_foo_libmath.h src-uclibc-hacked/libm-vax/_foo_libmath.h --- src-uclibc-fresh/libm-vax/_foo_libmath.h 2005-11-12 21:25:04.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_foo_libmath.h 2005-11-13 14:22:32.000000000 +0100 @@ -7,6 +7,7 @@ * */ #define SIN_COS_NUM_TAYLOR 30 +#define ASIN_NUM_TAYLOR 30 @@ -21,4 +22,17 @@ #define _FOO_PI_D 3.14159265358979323846264338327950288419716939937510 #define _FOO_PI_F 3.14159265358979323846264338327950288419716939937510F + +/* + * + * Internal helper functions + * + */ +extern long double _internal_binominal_r_over_n (long double r, unsigned long long n); +extern long long _exp_ll_ll_ll (long long base, long long expo); +extern long double _exp_ld_ll_ll (long long base, long long expo); +extern long double _exp_ld_ld_ll (long double base, long long expo); +/* _internal_facultaet.c */ +extern long double _internal_facultaet_ld (unsigned long long value); + #endif /* _FOO_LIBMATH_H */ diff -Nurp src-uclibc-fresh/libm-vax/_internal_binominal_r_over_n.c src-uclibc-hacked/libm-vax/_internal_binominal_r_over_n.c --- src-uclibc-fresh/libm-vax/_internal_binominal_r_over_n.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_internal_binominal_r_over_n.c 2005-11-13 15:20:47.000000000 +0100 @@ -0,0 +1,21 @@ +#include "_foo_libmath.h" + +/* + * ( r ) r * (r - 1) * ... * (r - k + 1) + * ( ) = --------------------------------- + * ( k ) k! + */ +long double +_internal_binominal_r_over_n (long double r, unsigned long long k) +{ + unsigned long long n; + long double product = 1.0L; + + if (k == 0) return 1.0L; + + for (n = 0; n < k; n++) + product *= r - (long double) n; + + return product / _internal_facultaet_ld (k); +} + diff -Nurp src-uclibc-fresh/libm-vax/_internal_exp.c src-uclibc-hacked/libm-vax/_internal_exp.c --- src-uclibc-fresh/libm-vax/_internal_exp.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_internal_exp.c 2005-11-13 15:20:59.000000000 +0100 @@ -0,0 +1,44 @@ +#include "_foo_libmath.h" + +long long +_exp_ll_ll_ll (long long base, long long expo) +{ + long long intl_exp; + long long product = 1LL; + + if (expo == 0LL) return 0LL; + + for (intl_exp = 0; intl_exp < expo; intl_exp++) + product *= base; + + return product; +} + +long double +_exp_ld_ll_ll (long long base, long long expo) +{ + long long intl_exp; + long double product = 1.0L; + + if (expo == 0LL) return 1.0L; + + for (intl_exp = 0; intl_exp < expo; intl_exp++) + product *= base; + + return product; +} + +long double +_exp_ld_ld_ll (long double base, long long expo) +{ + long long intl_exp; + long double product = 1.0L; + + if (expo == 0LL) return 0.0L; + + for (intl_exp = 0; intl_exp < expo; intl_exp++) + product *= base; + + return product; +} + diff -Nurp src-uclibc-fresh/libm-vax/_internal_facultaet.c src-uclibc-hacked/libm-vax/_internal_facultaet.c --- src-uclibc-fresh/libm-vax/_internal_facultaet.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_internal_facultaet.c 2005-11-12 22:47:47.000000000 +0100 @@ -0,0 +1,25 @@ + +unsigned long long +_internal_facultaet_ull (unsigned long long value) +{ + unsigned long long n; + unsigned long long facultaet = 1LL; + + for (n = 1LL; n <= value; n++) + facultaet *= n; + + return facultaet; +} + +long double +_internal_facultaet_ld (unsigned long long value) +{ + unsigned long long n; + long double facultaet = 1.0L; + + for (n = 1LL; n <= value; n++) + facultaet *= (long double) n; + + return facultaet; +} + diff -Nurp src-uclibc-fresh/libm-vax/Makefile src-uclibc-hacked/libm-vax/Makefile --- src-uclibc-fresh/libm-vax/Makefile 2005-11-12 21:56:04.000000000 +0100 +++ src-uclibc-hacked/libm-vax/Makefile 2005-11-13 15:22:54.000000000 +0100 @@ -6,7 +6,11 @@ CFLAGS= OBJ= sinf.o sin.o sinl.o \ cosf.o cos.o cosl.o \ fabsf.o fabs.o fabsl.o \ - tanf.o tan.o tanl.o + tanf.o tan.o tanl.o \ + asinf.o asin.o asinl.o \ + _internal_facultaet.o \ + _internal_exp.o \ + _internal_binominal_r_over_n.o all: libm.a test diff -Nurp src-uclibc-fresh/libm-vax/test.c src-uclibc-hacked/libm-vax/test.c --- src-uclibc-fresh/libm-vax/test.c 2005-11-12 20:40:15.000000000 +0100 +++ src-uclibc-hacked/libm-vax/test.c 2005-11-13 15:20:03.000000000 +0100 @@ -2,19 +2,26 @@ extern double sin (double x); extern double cos (double x); +extern long double asinl (long double x); + +extern long double +_internal_binominal_r_over_n (long double r, unsigned long long k); int main (void) { - int i; - - printf ("scale=20\n"); + long double x; - for (i = -10000; i <= 10000; i++) { - double x = i / 1000.0; - printf ("%20.18lf-s(%20.18lf)\n", sin (x), x); - printf ("%20.18lf-c(%20.18lf)\n", cos (x), x); - } + x = 0.7L; + printf ("asinl(%llf)=%llf\n", x, asinl (x)); + //printf ("asinl(%lf)=%20.18lf)\n", i, asinl (i)); +#if 0 + long double r = 0.5L; + unsigned long long k = 4; + + printf ("_internal_binominal_r_over_n (%llf, %lld) = %llf\n", + r, k, _internal_binominal_r_over_n (r, k)); +#endif return 0; } --- NEW FILE: uclibc-000020-libm-8-fix-internal_exp.patch --- diff -Nurp src-uclibc-fresh/libm-vax/_internal_exp.c src-uclibc-hacked/libm-vax/_internal_exp.c --- src-uclibc-fresh/libm-vax/_internal_exp.c 2005-11-13 16:34:07.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_internal_exp.c 2005-11-13 18:36:27.000000000 +0100 @@ -6,7 +6,7 @@ _exp_ll_ll_ll (long long base, long long long long intl_exp; long long product = 1LL; - if (expo == 0LL) return 0LL; + if (expo == 0LL) return 1LL; for (intl_exp = 0; intl_exp < expo; intl_exp++) product *= base; @@ -34,7 +34,7 @@ _exp_ld_ld_ll (long double base, long lo long long intl_exp; long double product = 1.0L; - if (expo == 0LL) return 0.0L; + if (expo == 0LL) return 1.0L; for (intl_exp = 0; intl_exp < expo; intl_exp++) product *= base; --- NEW FILE: uclibc-000014-libm-2-abs.patch --- diff -Nurp src-uclibc-fresh/libm-vax/fabs.c src-uclibc-hacked/libm-vax/fabs.c --- src-uclibc-fresh/libm-vax/fabs.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/fabs.c 2005-11-12 20:46:53.000000000 +0100 @@ -0,0 +1,10 @@ + +double +fabs (double value) +{ + if (value < 0.0) + return -value; + else + return value; +} + diff -Nurp src-uclibc-fresh/libm-vax/fabsf.c src-uclibc-hacked/libm-vax/fabsf.c --- src-uclibc-fresh/libm-vax/fabsf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/fabsf.c 2005-11-12 20:50:03.000000000 +0100 @@ -0,0 +1,10 @@ + +float +fabsf (float value) +{ + if (value < 0.0F) + return -value; + else + return value; +} + diff -Nurp src-uclibc-fresh/libm-vax/fabsl.c src-uclibc-hacked/libm-vax/fabsl.c --- src-uclibc-fresh/libm-vax/fabsl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/fabsl.c 2005-11-12 20:50:16.000000000 +0100 @@ -0,0 +1,10 @@ + +long double +fabsl (long double value) +{ + if (value < 0.0L) + return -value; + else + return value; +} + diff -Nurp src-uclibc-fresh/libm-vax/Makefile src-uclibc-hacked/libm-vax/Makefile --- src-uclibc-fresh/libm-vax/Makefile 2005-11-12 20:40:15.000000000 +0100 +++ src-uclibc-hacked/libm-vax/Makefile 2005-11-12 20:55:05.000000000 +0100 @@ -3,7 +3,9 @@ AR=$(TARGET)ar CC=$(TARGET)gcc CFLAGS= -OBJ=sinl.o sin.o sinf.o cosl.o cos.o cosf.o +OBJ= sinf.o sin.o sinl.o \ + cosf.o cos.o cosl.o \ + fabsf.o fabs.o fabsl.o all: libm.a test --- NEW FILE: uclibc-000018-libm-6-cleanup.patch --- diff -Nurp src-uclibc-fresh/libm-vax/cosl.c src-uclibc-hacked/libm-vax/cosl.c --- src-uclibc-fresh/libm-vax/cosl.c 2005-11-12 21:25:04.000000000 +0100 +++ src-uclibc-hacked/libm-vax/cosl.c 2005-11-13 15:38:09.000000000 +0100 @@ -1,53 +1,43 @@ #include "_foo_libmath.h" static long double -taylor_cosl (long double x, int i) +taylor_cosl (long double value, unsigned long long n) { - long double divisor = 1.0L; - long double dividend = 1.0L; - int n; - - for (n = 0; n < i; n++) { - divisor *= x; - dividend *= (n + 1); - } - - if (i % 4 == 2) - divisor *= -1.0L; - - return divisor / dividend; + return (long double) _exp_ll_ll_ll (-1, n) + * _exp_ld_ld_ll (value, 2*n) + / _internal_facultaet_ld (2*n); } long double -cosl (long double x) +cosl (long double value) { long double result = 0.0L; int n_pi; - int i; + unsigned long long n; /* sin(-x) = -sin(x) */ - if (x < 0.0L) - return cosl (-x); + if (value < 0.0L) + return cosl (-value); /* left-shift x to be in [0..2pi[ */ - n_pi = x / _FOO_PI_LD; + n_pi = value / _FOO_PI_LD; if (n_pi >= 2) - x -= (n_pi/2*2) * _FOO_PI_LD; + value -= (n_pi/2*2) * _FOO_PI_LD; /* [pi..2pi[ is negatively mapped to [0..pi[ */ - if (x >= _FOO_PI_LD) - return -cosl (x - _FOO_PI_LD); + if (value >= _FOO_PI_LD) + return -cosl (value - _FOO_PI_LD); /* Mirror [pi/2..pi] -> [pi/2..0] */ - if (x >= _FOO_PI_LD/2.0L) - return -cosl (_FOO_PI_LD - x); + if (value >= _FOO_PI_LD/2.0L) + return -cosl (_FOO_PI_LD - value); /* * The remaining part which is not solved recursively is in * the range of [0..pi/2] and will be approximated by a polynom. */ - for (i = 0; i < SIN_COS_NUM_TAYLOR; i += 2) - result += taylor_cosl (x, i); + for (n = 0; n < COS_NUM_TAYLOR; n++) + result += taylor_cosl (value, n); return result; } diff -Nurp src-uclibc-fresh/libm-vax/_foo_libmath.h src-uclibc-hacked/libm-vax/_foo_libmath.h --- src-uclibc-fresh/libm-vax/_foo_libmath.h 2005-11-13 15:26:02.000000000 +0100 +++ src-uclibc-hacked/libm-vax/_foo_libmath.h 2005-11-13 15:35:29.000000000 +0100 @@ -6,8 +6,9 @@ * Tuning parameters * */ -#define SIN_COS_NUM_TAYLOR 30 -#define ASIN_NUM_TAYLOR 30 +#define SIN_NUM_TAYLOR 30 +#define COS_NUM_TAYLOR 30 +#define ASIN_NUM_TAYLOR 30 diff -Nurp src-uclibc-fresh/libm-vax/sinl.c src-uclibc-hacked/libm-vax/sinl.c --- src-uclibc-fresh/libm-vax/sinl.c 2005-11-12 21:25:04.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinl.c 2005-11-13 15:38:49.000000000 +0100 @@ -1,53 +1,43 @@ #include "_foo_libmath.h" static long double -taylor_sinl (long double x, int i) +taylor_sinl (long double value, unsigned long long n) { - long double divisor = 1.0L; - long double dividend = 1.0L; - int n; - - for (n = 0; n < i; n++) { - divisor *= x; - dividend *= (n + 1); - } - - if (i % 4 == 3) - divisor *= -1.0L; - - return divisor / dividend; + return (long double) _exp_ll_ll_ll (-1, n) + * _exp_ld_ld_ll (value, 2*n+1) + / _internal_facultaet_ld (2*n+1); } long double -sinl (long double x) +sinl (long double value) { long double result = 0.0L; int n_pi; - int i; + unsigned long long n; /* sin(-x) = -sin(x) */ - if (x < 0.0L) - return -sinl (-x); + if (value < 0.0L) + return -sinl (-value); /* left-shift x to be in [0..2pi[ */ - n_pi = x / _FOO_PI_LD; + n_pi = value / _FOO_PI_LD; if (n_pi >= 2) - x -= (n_pi/2*2) * _FOO_PI_LD; + value -= (n_pi/2*2) * _FOO_PI_LD; /* [pi..2pi[ is negatively mapped to [0..pi[ */ - if (x >= _FOO_PI_LD) - return -sinl (x - _FOO_PI_LD); + if (value >= _FOO_PI_LD) + return -sinl (value - _FOO_PI_LD); /* Mirror [pi/2..pi] -> [pi/2..0] */ - if (x >= _FOO_PI_LD/2.0L) - return sinl (_FOO_PI_LD - x); + if (value >= _FOO_PI_LD/2.0L) + return sinl (_FOO_PI_LD - value); /* * The remaining part which is not solved recursively is in * the range of [0..pi/2] and will be approximated by a polynom. */ - for (i = 1; i < SIN_COS_NUM_TAYLOR; i += 2) - result += taylor_sinl (x, i); + for (n = 0; n < SIN_NUM_TAYLOR; n++) + result += taylor_sinl (value, n); return result; } --- NEW FILE: uclibc-000021-libm-9-better_tests.patch --- diff -Nurp src-uclibc-fresh/libm-vax/test.c src-uclibc-hacked/libm-vax/test.c --- src-uclibc-fresh/libm-vax/test.c 2005-11-13 16:34:07.000000000 +0100 +++ src-uclibc-hacked/libm-vax/test.c 2005-11-13 19:55:30.000000000 +0100 @@ -1,27 +1,166 @@ #include <stdio.h> +#include <stdlib.h> +#include <math.h> -extern double sin (double x); -extern double cos (double x); -extern long double asinl (long double x); +#define ARRAY_SIZE(x) (sizeof (x) / sizeof ((x)[0])) -extern long double -_internal_binominal_r_over_n (long double r, unsigned long long k); +#define ENTRY(FUNC,INPUT,OUTPUT) \ +{ \ + .func_ptr = &FUNC, \ + .func_name = #FUNC, \ + .input = INPUT, \ + .output = OUTPUT, \ +} + +struct { + float (*func_ptr) (float); + char *func_name; + char *input; + char *output; +} result_one_float[] = { + ENTRY (fabsf, "-10.66", "10.66"), + ENTRY (fabsf, "0", "0"), + ENTRY (fabsf, "10.66", "10.66"), + ENTRY (cosf, "-10", "-0.83907152907645245225"), + ENTRY (cosf, "-2", "-0.41614683654714238699"), + ENTRY (cosf, "0", "1"), + ENTRY (cosf, "2", "-0.41614683654714238699"), + ENTRY (cosf, "3", "-0.98999249660044545727"), + ENTRY (sinf, "-10", "0.54402111088936981340"), + ENTRY (sinf, "-2", "-0.90929742682568169539"), + ENTRY (sinf, "0", "0"), + ENTRY (sinf, "2", "0.90929742682568169539"), + ENTRY (sinf, "3", "0.14112000805986722210"), + ENTRY (tanf, "-10", "-0.64836082745908667126"), + ENTRY (tanf, "-2", "2.18503986326151899166"), + ENTRY (tanf, "0", "0"), + ENTRY (tanf, "2", "-2.18503986326151899166"), + ENTRY (tanf, "3", "-0.14254654307427780529"), + ENTRY (asinf, "-0.99749498660405443094", "-1.5"), + ENTRY (asinf, "-0.96355818541719296470", "-1.3"), + ENTRY (asinf, "-0.89120736006143533995", "-1.1"), + ENTRY (asinf, "-0.29552020666133957510", "-0.3"), + ENTRY (asinf, "0", "0"), + ENTRY (asinf, "0.71735609089952276162", "0.8"), + ENTRY (acosf, ".16996714290024093861", "-1.4"), + ENTRY (acosf, ".26749882862458740699", "-1.3"), + ENTRY (acosf, ".45359612142557738777", "-1.1"), + ENTRY (acosf, ".95533648912560601964", "-0.3"), + ENTRY (acosf, "1", "0"), + ENTRY (acosf, ".69670670934716542092", "0.8"), +}; +struct { + double (*func_ptr) (double); + char *func_name; + char *input; + char *output; +} result_one_double[] = { + ENTRY (fabs, "-10.66", "10.66"), + ENTRY (fabs, "0", "0"), + ENTRY (fabs, "10.66", "10.66"), + ENTRY (cos, "-10", "-0.83907152907645245225"), + ENTRY (cos, "-2", "-0.41614683654714238699"), + ENTRY (cos, "0", "1"), + ENTRY (cos, "2", "-0.41614683654714238699"), + ENTRY (cos, "3", "-0.98999249660044545727"), + ENTRY (sin, "-10", "0.54402111088936981340"), + ENTRY (sin, "-2", "-0.90929742682568169539"), + ENTRY (sin, "0", "0"), + ENTRY (sin, "2", "0.90929742682568169539"), + ENTRY (sin, "3", "0.14112000805986722210"), + ENTRY (tan, "-10", "-0.64836082745908667126"), + ENTRY (tan, "-2", "2.18503986326151899166"), + ENTRY (tan, "0", "0"), + ENTRY (tan, "2", "-2.18503986326151899166"), + ENTRY (tan, "3", "-0.14254654307427780529"), + ENTRY (asin, "-0.99749498660405443094", "-1.5"), + ENTRY (asin, "-0.96355818541719296470", "-1.3"), + ENTRY (asin, "-0.89120736006143533995", "-1.1"), + ENTRY (asin, "-0.29552020666133957510", "-0.3"), + ENTRY (asin, "0", "0"), + ENTRY (asin, "0.71735609089952276162", "0.8"), + ENTRY (acos, ".16996714290024093861", "-1.4"), + ENTRY (acos, ".26749882862458740699", "-1.3"), + ENTRY (acos, ".45359612142557738777", "-1.1"), + ENTRY (acos, ".95533648912560601964", "-0.3"), + ENTRY (acos, "1", "0"), + ENTRY (acos, ".69670670934716542092", "0.8"), +}; +struct { + long double (*func_ptr) (long double); + char *func_name; + char *input; + char *output; +} result_one_long_double[] = { + ENTRY (fabsl, "-10.66", "10.66"), + ENTRY (fabsl, "0", "0"), + ENTRY (fabsl, "10.66", "10.66"), + ENTRY (cosl, "-10", "-0.83907152907645245225"), + ENTRY (cosl, "-2", "-0.41614683654714238699"), + ENTRY (cosl, "0", "1"), + ENTRY (cosl, "2", "-0.41614683654714238699"), + ENTRY (cosl, "3", "-0.98999249660044545727"), + ENTRY (sinl, "-10", "0.54402111088936981340"), + ENTRY (sinl, "-2", "-0.90929742682568169539"), + ENTRY (sinl, "0", "0"), + ENTRY (sinl, "2", "0.90929742682568169539"), + ENTRY (sinl, "3", "0.14112000805986722210"), + ENTRY (tanl, "-10", "-0.64836082745908667126"), + ENTRY (tanl, "-2", "2.18503986326151899166"), + ENTRY (tanl, "0", "0"), + ENTRY (tanl, "2", "-2.18503986326151899166"), + ENTRY (tanl, "3", "-0.14254654307427780529"), + ENTRY (asinl, "-0.99749498660405443094", "-1.5"), + ENTRY (asinl, "-0.96355818541719296470", "-1.3"), + ENTRY (asinl, "-0.89120736006143533995", "-1.1"), + ENTRY (asinl, "-0.29552020666133957510", "-0.3"), + ENTRY (asinl, "0", "0"), + ENTRY (asinl, "0.71735609089952276162", "0.8"), + ENTRY (acosl, ".16996714290024093861", "-1.4"), + ENTRY (acosl, ".26749882862458740699", "-1.3"), + ENTRY (acosl, ".45359612142557738777", "-1.1"), + ENTRY (acosl, ".95533648912560601964", "-0.3"), + ENTRY (acosl, "1", "0"), + ENTRY (acosl, ".69670670934716542092", "0.8"), +}; int main (void) { - long double x; - - x = 0.7L; - printf ("asinl(%llf)=%llf\n", x, asinl (x)); - //printf ("asinl(%lf)=%20.18lf)\n", i, asinl (i)); -#if 0 - long double r = 0.5L; - unsigned long long k = 4; - - printf ("_internal_binominal_r_over_n (%llf, %lld) = %llf\n", - r, k, _internal_binominal_r_over_n (r, k)); -#endif + float in_float, out_float, expected_float; + double in_double, out_double, expected_double; + long double in_long_double, out_long_double, expected_long_double; + unsigned int n; + + for (n = 0; n < ARRAY_SIZE (result_one_float); n++) { + in_float = strtof (result_one_float[n].input, NULL); + out_float = result_one_float[n].func_ptr (in_float); + expected_float = strtof (result_one_float[n].output, NULL); + printf ("%s(%f) = %f, d = %f\n", + result_one_float[n].func_name, + in_float, out_float, + expected_float - out_float); + } + + for (n = 0; n < ARRAY_SIZE (result_one_double); n++) { + in_double = strtof (result_one_double[n].input, NULL); + out_double = result_one_double[n].func_ptr (in_double); + expected_double = strtof (result_one_double[n].output, NULL); + printf ("%s(%lf) = %lf, d = %lf\n", + result_one_double[n].func_name, + in_double, out_double, + expected_double - out_double); + } + + for (n = 0; n < ARRAY_SIZE (result_one_long_double); n++) { + in_long_double = strtof (result_one_long_double[n].input, NULL); + out_long_double = result_one_long_double[n].func_ptr (in_long_double); + expected_long_double = strtof (result_one_long_double[n].output, NULL); + printf ("%s(%llf) = %llf, d = %llf\n", + result_one_long_double[n].func_name, + in_long_double, out_long_double, + expected_long_double - out_long_double); + } return 0; } --- NEW FILE: uclibc-000016-libm-4-tan.patch --- diff -Nurp src-uclibc-fresh/libm-vax/Makefile src-uclibc-hacked/libm-vax/Makefile --- src-uclibc-fresh/libm-vax/Makefile 2005-11-12 21:06:36.000000000 +0100 +++ src-uclibc-hacked/libm-vax/Makefile 2005-11-12 21:28:59.000000000 +0100 @@ -5,7 +5,8 @@ CFLAGS= OBJ= sinf.o sin.o sinl.o \ cosf.o cos.o cosl.o \ - fabsf.o fabs.o fabsl.o + fabsf.o fabs.o fabsl.o \ + tanf.o tan.o tanl.o all: libm.a test diff -Nurp src-uclibc-fresh/libm-vax/tan.c src-uclibc-hacked/libm-vax/tan.c --- src-uclibc-fresh/libm-vax/tan.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/tan.c 2005-11-12 21:28:32.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double tanl (long double value); + +double +tan (double value) +{ + return tanl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/tanf.c src-uclibc-hacked/libm-vax/tanf.c --- src-uclibc-fresh/libm-vax/tanf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/tanf.c 2005-11-12 21:27:45.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double tanl (long double value); + +float +tanf (float value) +{ + return tanl (value); +} + diff -Nurp src-uclibc-fresh/libm-vax/tanl.c src-uclibc-hacked/libm-vax/tanl.c --- src-uclibc-fresh/libm-vax/tanl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/tanl.c 2005-11-12 21:38:17.000000000 +0100 @@ -0,0 +1,10 @@ + +extern long double sinl (long double value); +extern long double cosl (long double value); + +long double +tanl (long double value) +{ + return sinl (value) / cosl (value); +} + |
From: Jan-Benedict G. <jb...@us...> - 2005-11-16 11:17:03
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13313 Modified Files: uclibc-000013-libm-1.patch Log Message: - Directly call the final function, don't convert too often. Index: uclibc-000013-libm-1.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/uclibc-000013-libm-1.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- uclibc-000013-libm-1.patch 9 Nov 2005 23:24:22 -0000 1.1 +++ uclibc-000013-libm-1.patch 16 Nov 2005 11:16:36 -0000 1.2 @@ -16,12 +16,12 @@ +++ src-uclibc-hacked/libm-vax/cosf.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,9 @@ + -+extern double cos (double x); ++extern double cosl (long double x); + +float +cosf (float x) +{ -+ return cos (x); ++ return cosl (x); +} + diff -Nupr src-uclibc-fresh/libm-vax/cosl.c src-uclibc-hacked/libm-vax/cosl.c @@ -127,12 +127,12 @@ +++ src-uclibc-hacked/libm-vax/sinf.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,9 @@ + -+extern double sin (double x); ++extern double sinl (long double x); + +float +sinf (float x) +{ -+ return sin (x); ++ return sinl (x); +} + diff -Nupr src-uclibc-fresh/libm-vax/sinl.c src-uclibc-hacked/libm-vax/sinl.c |
From: Jan-Benedict G. <jb...@us...> - 2005-11-16 11:08:04
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11354 Modified Files: uclibc-000007-nonnegative_floats_config_option.patch Log Message: - Rediff. Index: uclibc-000007-nonnegative_floats_config_option.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/uclibc-000007-nonnegative_floats_config_option.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- uclibc-000007-nonnegative_floats_config_option.patch 30 Sep 2005 09:12:07 -0000 1.1 +++ uclibc-000007-nonnegative_floats_config_option.patch 16 Nov 2005 11:07:47 -0000 1.2 @@ -1,7 +1,7 @@ diff -Nurp src-uclibc-fresh/extra/Configs/Config.in.arch src-uclibc-hacked/extra/Configs/Config.in.arch ---- src-uclibc-fresh/extra/Configs/Config.in.arch 2005-06-05 18:39:50.000000000 +0200 -+++ src-uclibc-hacked/extra/Configs/Config.in.arch 2005-09-30 10:14:36.000000000 +0200 -@@ -28,8 +28,8 @@ config ARCH_HAS_MMU +--- src-uclibc-fresh/extra/Configs/Config.in.arch 2005-11-11 08:49:02.000000000 +0100 ++++ src-uclibc-hacked/extra/Configs/Config.in.arch 2005-11-16 01:53:33.000000000 +0100 +@@ -29,8 +29,8 @@ config ARCH_HAS_MMU default y depends !ARCH_HAS_NO_MMU help @@ -12,7 +12,7 @@ If you are building a uClinux system, answer N. Most people will answer Y. -@@ -40,13 +40,24 @@ config UCLIBC_HAS_FLOATS +@@ -41,13 +41,24 @@ config UCLIBC_HAS_FLOATS help This option allows you to entirely omit all floating point number support from uClibc. This will cause floating point functions like @@ -39,7 +39,7 @@ config HAS_FPU bool "Target CPU has a floating point unit (FPU)" depends on UCLIBC_HAS_FLOATS -@@ -77,7 +88,7 @@ config DO_C99_MATH +@@ -78,7 +89,7 @@ config DO_C99_MATH listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard. Leaving this option set to N will save around 35k on an x86 system. @@ -49,8 +49,8 @@ config KERNEL_SOURCE diff -Nurp src-uclibc-fresh/libc/stdio/_fpmaxtostr.c src-uclibc-hacked/libc/stdio/_fpmaxtostr.c ---- src-uclibc-fresh/libc/stdio/_fpmaxtostr.c 2005-07-30 22:29:22.000000000 +0200 -+++ src-uclibc-hacked/libc/stdio/_fpmaxtostr.c 2005-09-30 10:20:42.000000000 +0200 +--- src-uclibc-fresh/libc/stdio/_fpmaxtostr.c 2005-11-15 23:21:14.000000000 +0100 ++++ src-uclibc-hacked/libc/stdio/_fpmaxtostr.c 2005-11-16 01:53:33.000000000 +0100 @@ -17,7 +17,7 @@ typedef size_t (__fp_outfunc_t)(FILE *fp /* Copyright (C) 2000, 2001, 2003 Manuel Novoa III @@ -58,7 +58,7 @@ - * Function: + * Function: * - * size_t _fpmaxtostr(FILE * fp, __fpmax_t x, struct printf_info *info, + * ssize_t _fpmaxtostr(FILE * fp, __fpmax_t x, struct printf_info *info, * __fp_outfunc_t fp_outfunc); @@ -183,7 +183,7 @@ static const __fpmax_t exp16_table[] = { #if FPMAX_MAX_EXP >= 16384 @@ -69,7 +69,7 @@ #error unsupported FPMAX_MAX_EXP. please increase table #endif }; -@@ -275,7 +275,7 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -275,7 +275,7 @@ ssize_t attribute_hidden _fpmaxtostr(FIL } if (x == 0) { /* Handle 0 now to avoid false positive. */ @@ -78,7 +78,7 @@ if (zeroisnegative(x)) { /* Handle 'signed' zero. */ *sign_str = '-'; } -@@ -323,14 +323,14 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -323,14 +323,14 @@ ssize_t attribute_hidden _fpmaxtostr(FIL base = 16; } else { lower_bnd = 1e8; @@ -97,7 +97,7 @@ } -@@ -406,7 +406,7 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -406,7 +406,7 @@ ssize_t attribute_hidden _fpmaxtostr(FIL if (mode < 'a') { *exp_buf -= ('a' - 'A'); /* e->E and p->P */ mode += ('a' - 'A'); @@ -106,7 +106,7 @@ o_mode = mode; if ((mode == 'g') && (preci > 0)){ -@@ -446,7 +446,7 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -446,7 +446,7 @@ ssize_t attribute_hidden _fpmaxtostr(FIL #ifdef __UCLIBC_HAS_HEXADECIMAL_FLOATS__ if ((mode|0x20) == 'a') { char *q; @@ -115,7 +115,7 @@ for (q = e ; *q ; --q) { if (*q > '9') { *q += (*exp_buf - ('p' - 'a') - '9' - 1); -@@ -694,12 +694,12 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -694,12 +694,12 @@ ssize_t attribute_hidden _fpmaxtostr(FIL cnt += num_groups * tslen; /* Adjust count now for sep chars. */ @@ -130,7 +130,7 @@ if (fp_outfunc(fp, *ppc, blk, (intptr_t) gp) != blk) { return -1; } -@@ -709,9 +709,9 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -709,9 +709,9 @@ ssize_t attribute_hidden _fpmaxtostr(FIL } len -= blk; } else { /* Transition to 0s. */ @@ -142,7 +142,7 @@ if (fp_outfunc(fp, *ppc, len, (intptr_t) gp) != len) { return -1; } -@@ -719,7 +719,7 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -719,7 +719,7 @@ ssize_t attribute_hidden _fpmaxtostr(FIL } if (ppc[3] == FPO_ZERO_PAD) { /* Need to group 0s */ @@ -151,7 +151,7 @@ cnt += ppc[1]; ppc += 3; gp = (const char *) ppc[2]; -@@ -742,7 +742,7 @@ ssize_t _fpmaxtostr(FILE * fp, __fpmax_t +@@ -742,7 +742,7 @@ ssize_t attribute_hidden _fpmaxtostr(FIL } blk = nblk2; |
From: Jan-Benedict G. <jb...@us...> - 2005-11-16 11:06:52
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11156 Modified Files: uclibc-000000-base.patch Log Message: - Rediff. Index: uclibc-000000-base.patch =================================================================== RCS file: /cvsroot/linux-vax/toolchain/patches/uclibc-000000-base.patch,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- uclibc-000000-base.patch 28 Oct 2005 14:15:12 -0000 1.4 +++ uclibc-000000-base.patch 16 Nov 2005 11:06:43 -0000 1.5 @@ -1,9 +1,9 @@ -diff -Nurp -x entries uClibc/extra/Configs/Config.in uClibc-hacked-vax/extra/Configs/Config.in ---- uClibc/extra/Configs/Config.in 2005-05-08 15:40:19.000000000 +0200 -+++ uClibc-hacked-vax/extra/Configs/Config.in 2005-05-08 13:56:47.000000000 +0200 -@@ -67,6 +67,9 @@ config TARGET_sparc +diff -Nurp src-uclibc-fresh/extra/Configs/Config.in src-uclibc-hacked/extra/Configs/Config.in +--- src-uclibc-fresh/extra/Configs/Config.in 2005-11-15 23:21:13.000000000 +0100 ++++ src-uclibc-hacked/extra/Configs/Config.in 2005-11-16 01:48:14.000000000 +0100 +@@ -71,6 +71,9 @@ config TARGET_sparc config TARGET_v850 - bool "v850" + bool "v850 (BROKEN)" +config TARGET_vax + bool "vax" @@ -11,7 +11,7 @@ config TARGET_x86_64 bool "x86_64" -@@ -151,6 +154,10 @@ if TARGET_v850 +@@ -159,6 +162,10 @@ if TARGET_v850 source "extra/Configs/Config.v850" endif @@ -22,9 +22,9 @@ if TARGET_x86_64 source "extra/Configs/Config.x86_64" endif -diff -Nurp -x entries uClibc/extra/Configs/Config.vax uClibc-hacked-vax/extra/Configs/Config.vax ---- uClibc/extra/Configs/Config.vax 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/extra/Configs/Config.vax 2005-05-08 13:59:49.000000000 +0200 +diff -Nurp src-uclibc-fresh/extra/Configs/Config.vax src-uclibc-hacked/extra/Configs/Config.vax +--- src-uclibc-fresh/extra/Configs/Config.vax 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/extra/Configs/Config.vax 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,31 @@ +# +# For a description of the syntax of this configuration file, @@ -57,9 +57,9 @@ + string + default "vax-linux-uclibc-" + -diff -Nurp -x entries uClibc/include/sys/procfs.h uClibc-hacked-vax/include/sys/procfs.h ---- uClibc/include/sys/procfs.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/include/sys/procfs.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/include/sys/procfs.h src-uclibc-hacked/include/sys/procfs.h +--- src-uclibc-fresh/include/sys/procfs.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/include/sys/procfs.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,123 @@ +/* Copyright (C) 1996, 1997, 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -184,9 +184,9 @@ +__END_DECLS + +#endif /* sys/procfs.h */ -diff -Nurp -x entries uClibc/include/sys/ucontext.h uClibc-hacked-vax/include/sys/ucontext.h ---- uClibc/include/sys/ucontext.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/include/sys/ucontext.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/include/sys/ucontext.h src-uclibc-hacked/include/sys/ucontext.h +--- src-uclibc-fresh/include/sys/ucontext.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/include/sys/ucontext.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,80 @@ +/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -268,9 +268,9 @@ + } ucontext_t; + +#endif /* sys/ucontext.h */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/byteswap.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/byteswap.h ---- uClibc/libc/sysdeps/linux/vax/bits/byteswap.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/byteswap.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/byteswap.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/byteswap.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/byteswap.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/byteswap.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,64 @@ +/* Macros to swap the order of bytes in integer values. + Copyright (C) 1997, 1998 Free Software Foundation, Inc. @@ -336,9 +336,9 @@ + __r.__l[1] = __bswap_32 (__v.__l[0]); \ + __r.__ll; })) +#endif -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/endian.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/endian.h ---- uClibc/libc/sysdeps/linux/vax/bits/endian.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/endian.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/endian.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/endian.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/endian.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/endian.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,9 @@ +/* VAX is little endian */ + @@ -349,9 +349,9 @@ +#define __BYTE_ORDER __LITTLE_ENDIAN + +/*#define __FLOAT_WORD_ORDER __BIG_ENDIAN*/ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/fcntl.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/fcntl.h ---- uClibc/libc/sysdeps/linux/vax/bits/fcntl.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/fcntl.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/fcntl.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/fcntl.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/fcntl.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/fcntl.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,141 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. @@ -494,9 +494,9 @@ +# define FNONBLOCK O_NONBLOCK +# define FNDELAY O_NDELAY +#endif /* Use BSD. */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/ipc.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/ipc.h ---- uClibc/libc/sysdeps/linux/vax/bits/ipc.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/ipc.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/ipc.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/ipc.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/ipc.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/ipc.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,50 @@ +/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -548,9 +548,9 @@ + unsigned short int mode; /* Read/write permission. */ + unsigned short int __seq; /* Sequence number. */ + }; -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/kernel_stat.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/kernel_stat.h ---- uClibc/libc/sysdeps/linux/vax/bits/kernel_stat.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/kernel_stat.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/kernel_stat.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/kernel_stat.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/kernel_stat.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/kernel_stat.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,56 @@ +#ifndef _BITS_STAT_STRUCT_H +#define _BITS_STAT_STRUCT_H @@ -608,9 +608,9 @@ + +#endif /* _BITS_STAT_STRUCT_H */ + -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/kernel_types.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/kernel_types.h ---- uClibc/libc/sysdeps/linux/vax/bits/kernel_types.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/kernel_types.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/kernel_types.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/kernel_types.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/kernel_types.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/kernel_types.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,45 @@ +#ifndef __ARCH_VAX_POSIX_TYPES_H +#define __ARCH_VAX_POSIX_TYPES_H @@ -657,9 +657,9 @@ +} __kernel_fsid_t; + +#endif /* __ARCH_VAX_POSIX_TYPES_H */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/machine-gmon.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/machine-gmon.h ---- uClibc/libc/sysdeps/linux/vax/bits/machine-gmon.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/machine-gmon.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/machine-gmon.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/machine-gmon.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/machine-gmon.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/machine-gmon.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,41 @@ +/* i386-specific implementation of profiling support. + Copyright (C) 1997, 2002 Free Software Foundation, Inc. @@ -702,9 +702,9 @@ +/* Define MCOUNT as empty since we have the implementation in another + file. */ +#define MCOUNT -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/mman.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/mman.h ---- uClibc/libc/sysdeps/linux/vax/bits/mman.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/mman.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/mman.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/mman.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/mman.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/mman.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,93 @@ +/* Definitions for POSIX memory map interface. Linux/i386 version. + Copyright (C) 1997, 2000 Free Software Foundation, Inc. @@ -799,9 +799,9 @@ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/profil-counter.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/profil-counter.h ---- uClibc/libc/sysdeps/linux/vax/bits/profil-counter.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/profil-counter.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/profil-counter.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/profil-counter.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/profil-counter.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/profil-counter.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,32 @@ +/* Low-level statistical profiling support function. Linux/i386 version. + Copyright (C) 1996, 1997, 1998, 2002 Free Software Foundation, Inc. @@ -835,9 +835,9 @@ + the signal context. */ + asm volatile (""); +} -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/resource.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/resource.h ---- uClibc/libc/sysdeps/linux/vax/bits/resource.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/resource.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/resource.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/resource.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/resource.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/resource.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,209 @@ +/* Bit values & structures for resource limits. Linux/Arm version. + Copyright (C) 1994,1996,1997,1998,1999,2000 Free Software Foundation, Inc. @@ -1048,9 +1048,9 @@ + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/sem.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/sem.h ---- uClibc/libc/sysdeps/linux/vax/bits/sem.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/sem.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/sem.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/sem.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/sem.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/sem.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,87 @@ +/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -1139,9 +1139,9 @@ +}; + +#endif /* __USE_MISC */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/setjmp.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/setjmp.h ---- uClibc/libc/sysdeps/linux/vax/bits/setjmp.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/setjmp.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/setjmp.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/setjmp.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/setjmp.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/setjmp.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,37 @@ +/* Define the machine-dependent type `jmp_buf'. Vax version. */ + @@ -1180,9 +1180,9 @@ + void *__rB; regs, r0->r11. +*/ + -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/shm.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/shm.h ---- uClibc/libc/sysdeps/linux/vax/bits/shm.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/shm.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/shm.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/shm.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/shm.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/shm.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,84 @@ +/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -1268,9 +1268,9 @@ + }; + +#endif /* __USE_MISC */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/sigcontext.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/sigcontext.h ---- uClibc/libc/sysdeps/linux/vax/bits/sigcontext.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/sigcontext.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/sigcontext.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/sigcontext.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/sigcontext.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/sigcontext.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,29 @@ +/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -1301,9 +1301,9 @@ + +# include <asm/sigcontext.h> +#endif -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/sockaddr.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/sockaddr.h ---- uClibc/libc/sysdeps/linux/vax/bits/sockaddr.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/sockaddr.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/sockaddr.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/sockaddr.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/sockaddr.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/sockaddr.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,44 @@ +/* Definition of `struct sockaddr_*' common members. Generic/4.2 BSD version. + Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. @@ -1349,9 +1349,9 @@ +extern int __libc_sa_len __P ((sa_family_t __af)); + +#endif /* bits/sockaddr.h */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/socket.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/socket.h ---- uClibc/libc/sysdeps/linux/vax/bits/socket.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/socket.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/socket.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/socket.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/socket.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/socket.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,316 @@ +/* System-specific socket constants and types. Linux version. + Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc. @@ -1669,9 +1669,9 @@ + }; + +#endif /* bits/socket.h */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/statfs.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/statfs.h ---- uClibc/libc/sysdeps/linux/vax/bits/statfs.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/statfs.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/statfs.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/statfs.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/statfs.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/statfs.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,61 @@ +/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -1734,9 +1734,9 @@ + int f_spare[6]; + }; +#endif -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/syscalls.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/syscalls.h ---- uClibc/libc/sysdeps/linux/vax/bits/syscalls.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/syscalls.h 2005-05-08 14:59:00.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/syscalls.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/syscalls.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/syscalls.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/syscalls.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,243 @@ +#ifndef _BITS_SYSCALLS_H +#define _BITS_SYSCALLS_H @@ -1981,9 +1981,9 @@ +} + +#endif /* _BITS_SYSCALLS_H */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/bits/wordsize.h uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/wordsize.h ---- uClibc/libc/sysdeps/linux/vax/bits/wordsize.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/bits/wordsize.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/bits/wordsize.h src-uclibc-hacked/libc/sysdeps/linux/vax/bits/wordsize.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/bits/wordsize.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/bits/wordsize.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,19 @@ +/* Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -2004,9 +2004,9 @@ + Boston, MA 02111-1307, USA. */ + +#define __WORDSIZE 32 -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/brk.c uClibc-hacked-vax/libc/sysdeps/linux/vax/brk.c ---- uClibc/libc/sysdeps/linux/vax/brk.c 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/brk.c 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/brk.c src-uclibc-hacked/libc/sysdeps/linux/vax/brk.c +--- src-uclibc-fresh/libc/sysdeps/linux/vax/brk.c 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/brk.c 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,54 @@ +/* brk system call for Linux/VAX. + Copyright (C) 2000 Free Software Foundation, Inc. @@ -2062,9 +2062,9 @@ + + return 0; +} -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/clone.S uClibc-hacked-vax/libc/sysdeps/linux/vax/clone.S ---- uClibc/libc/sysdeps/linux/vax/clone.S 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/clone.S 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/clone.S src-uclibc-hacked/libc/sysdeps/linux/vax/clone.S +--- src-uclibc-fresh/libc/sysdeps/linux/vax/clone.S 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/clone.S 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,85 @@ +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + @@ -2151,9 +2151,9 @@ +.globl clone; + clone = __clone + -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/crt0.S uClibc-hacked-vax/libc/sysdeps/linux/vax/crt0.S ---- uClibc/libc/sysdeps/linux/vax/crt0.S 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/crt0.S 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/crt0.S src-uclibc-hacked/libc/sysdeps/linux/vax/crt0.S +--- src-uclibc-fresh/libc/sysdeps/linux/vax/crt0.S 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/crt0.S 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,58 @@ +/* crt0 for VAX */ + @@ -2213,9 +2213,9 @@ +#endif + halt +.align 2 -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/__longjmp.S uClibc-hacked-vax/libc/sysdeps/linux/vax/__longjmp.S ---- uClibc/libc/sysdeps/linux/vax/__longjmp.S 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/__longjmp.S 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/__longjmp.S src-uclibc-hacked/libc/sysdeps/linux/vax/__longjmp.S +--- src-uclibc-fresh/libc/sysdeps/linux/vax/__longjmp.S 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/__longjmp.S 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,40 @@ +# longjmp.S atp sept 2001 +# restore regs and info and jmp back to a previous setjmp @@ -2257,9 +2257,9 @@ + ret + + -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/_mmap.c uClibc-hacked-vax/libc/sysdeps/linux/vax/_mmap.c ---- uClibc/libc/sysdeps/linux/vax/_mmap.c 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/_mmap.c 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/_mmap.c src-uclibc-hacked/libc/sysdeps/linux/vax/_mmap.c +--- src-uclibc-fresh/libc/sysdeps/linux/vax/_mmap.c 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/_mmap.c 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,7 @@ + +#include <unistd.h> @@ -2268,9 +2268,9 @@ +#include <sys/syscall.h> + +_syscall6(void *, mmap, void *, start, size_t, length, int, prot, int, flags, int, fd, off_t, offset); -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/_setjmp.S uClibc-hacked-vax/libc/sysdeps/linux/vax/_setjmp.S ---- uClibc/libc/sysdeps/linux/vax/_setjmp.S 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/_setjmp.S 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/_setjmp.S src-uclibc-hacked/libc/sysdeps/linux/vax/_setjmp.S +--- src-uclibc-fresh/libc/sysdeps/linux/vax/_setjmp.S 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/_setjmp.S 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,54 @@ + +.globl _setjmp @@ -2326,9 +2326,9 @@ + addl2 $2, %r0 + pushl %r0 + rsb -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/setjmp.S uClibc-hacked-vax/libc/sysdeps/linux/vax/setjmp.S ---- uClibc/libc/sysdeps/linux/vax/setjmp.S 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/setjmp.S 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/setjmp.S src-uclibc-hacked/libc/sysdeps/linux/vax/setjmp.S +--- src-uclibc-fresh/libc/sysdeps/linux/vax/setjmp.S 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/setjmp.S 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,34 @@ +# setjmp.S atp. Sept. 2001 +# save regs and info needed for a longjmp @@ -2364,9 +2364,9 @@ + # done + ret + -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/sys/procfs.h uClibc-hacked-vax/libc/sysdeps/linux/vax/sys/procfs.h ---- uClibc/libc/sysdeps/linux/vax/sys/procfs.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/sys/procfs.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/sys/procfs.h src-uclibc-hacked/libc/sysdeps/linux/vax/sys/procfs.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/sys/procfs.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/sys/procfs.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,123 @@ +/* Copyright (C) 1996, 1997, 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -2491,9 +2491,9 @@ +__END_DECLS + +#endif /* sys/procfs.h */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/sys/ucontext.h uClibc-hacked-vax/libc/sysdeps/linux/vax/sys/ucontext.h ---- uClibc/libc/sysdeps/linux/vax/sys/ucontext.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/sys/ucontext.h 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/sys/ucontext.h src-uclibc-hacked/libc/sysdeps/linux/vax/sys/ucontext.h +--- src-uclibc-fresh/libc/sysdeps/linux/vax/sys/ucontext.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/sys/ucontext.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,80 @@ +/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. @@ -2575,9 +2575,9 @@ + } ucontext_t; + +#endif /* sys/ucontext.h */ -diff -Nurp -x entries uClibc/libc/sysdeps/linux/vax/vfork.c uClibc-hacked-vax/libc/sysdeps/linux/vax/vfork.c ---- uClibc/libc/sysdeps/linux/vax/vfork.c 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libc/sysdeps/linux/vax/vfork.c 2005-05-08 14:05:08.000000000 +0200 +diff -Nurp src-uclibc-fresh/libc/sysdeps/linux/vax/vfork.c src-uclibc-hacked/libc/sysdeps/linux/vax/vfork.c +--- src-uclibc-fresh/libc/sysdeps/linux/vax/vfork.c 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libc/sysdeps/linux/vax/vfork.c 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,12 @@ +#include <errno.h> +#include <features.h> @@ -2591,9 +2591,9 @@ +{ + return fork(); +} -diff -Nurp -x entries uClibc/libpthread/linuxthreads/sysdeps/vax/pt-machine.h uClibc-hacked-vax/libpthread/linuxthreads/sysdeps/vax/pt-machine.h ---- uClibc/libpthread/linuxthreads/sysdeps/vax/pt-machine.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libpthread/linuxthreads/sysdeps/vax/pt-machine.h 2005-05-08 15:05:46.000000000 +0200 +diff -Nurp src-uclibc-fresh/libpthread/linuxthreads/sysdeps/vax/pt-machine.h src-uclibc-hacked/libpthread/linuxthreads/sysdeps/vax/pt-machine.h +--- src-uclibc-fresh/libpthread/linuxthreads/sysdeps/vax/pt-machine.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libpthread/linuxthreads/sysdeps/vax/pt-machine.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,50 @@ +/* Machine-dependent pthreads configuration and inline functions. + m68k version. @@ -2645,9 +2645,9 @@ +#define CURRENT_STACK_FRAME stack_pointer +register char * stack_pointer __asm__ ("sp"); + -diff -Nurp -x entries uClibc/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h uClibc-hacked-vax/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h ---- uClibc/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h 1970-01-01 01:00:00.000000000 +0100 -+++ uClibc-hacked-vax/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h 2005-05-08 15:04:40.000000000 +0200 +diff -Nurp src-uclibc-fresh/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h src-uclibc-hacked/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h +--- src-uclibc-fresh/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h 1970-01-01 01:00:00.000000000 +0100 ++++ src-uclibc-hacked/libpthread/linuxthreads/sysdeps/vax/sigcontextinfo.h 2005-11-16 01:48:14.000000000 +0100 @@ -0,0 +1,26 @@ +/* Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. |
From: Jan-Benedict G. <jb...@us...> - 2005-11-12 16:54:49
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15082 Modified Files: build_toolchain.sh Log Message: - The default target is now "vax-linux-uclibc", not "vax-linux" Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- build_toolchain.sh 9 Nov 2005 23:24:21 -0000 1.28 +++ build_toolchain.sh 12 Nov 2005 16:54:39 -0000 1.29 @@ -45,7 +45,7 @@ # # Default target (if it's not given on command line) # -TARGET="vax-linux" +TARGET="vax-linux-uclibc" # # General configuration |
From: Jan-Benedict G. <jb...@us...> - 2005-11-09 23:24:30
|
Update of /cvsroot/linux-vax/toolchain/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15355/patches Added Files: uclibc-000013-libm-1.patch Log Message: - Use our own libm instead of the IEEE one from uClibc. --- NEW FILE: uclibc-000013-libm-1.patch --- diff -Nupr src-uclibc-fresh/libm-vax/cos.c src-uclibc-hacked/libm-vax/cos.c --- src-uclibc-fresh/libm-vax/cos.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/cos.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double cosl (long double x); + +double +cos (double x) +{ + return cosl (x); +} + diff -Nupr src-uclibc-fresh/libm-vax/cosf.c src-uclibc-hacked/libm-vax/cosf.c --- src-uclibc-fresh/libm-vax/cosf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/cosf.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,9 @@ + +extern double cos (double x); + +float +cosf (float x) +{ + return cos (x); +} + diff -Nupr src-uclibc-fresh/libm-vax/cosl.c src-uclibc-hacked/libm-vax/cosl.c --- src-uclibc-fresh/libm-vax/cosl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/cosl.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,55 @@ +/* http://en.wikipedia.org/wiki/Pi */ +#define __VAX_PI 3.14159265358979323846264338327950288419716939937510L + +static long double +taylor_cosl (long double x, int i) +{ + long double divisor = 1.0; + long double dividend = 1.0; + int n; + + for (n = 0; n < i; n++) { + divisor *= x; + dividend *= (n + 1); + } + + if (i % 4 == 2) + divisor *= -1.0; + + return divisor / dividend; +} + +long double +cosl (long double x) +{ + long double result = 0.0; + int n_pi; + int i; + + /* sin(-x) = -sin(x) */ + if (x < 0.0) + return cosl (-x); + + /* left-shift x to be in [0..2pi[ */ + n_pi = x / __VAX_PI; + if (n_pi >= 2) + x -= (n_pi/2*2) * __VAX_PI; + + /* [pi..2pi[ is negatively mapped to [0..pi[ */ + if (x >= __VAX_PI) + return -cosl (x - __VAX_PI); + + /* Mirror [pi/2..pi] -> [pi/2..0] */ + if (x >= __VAX_PI/2.0) + return -cosl (__VAX_PI - x); + + /* + * The remaining part which is not solved recursively is in + * the range of [0..pi/2] and will be approximated by a polynom. + */ + for (i = 0; i < 30; i += 2) + result += taylor_cosl (x, i); + + return result; +} + diff -Nupr src-uclibc-fresh/libm-vax/Makefile src-uclibc-hacked/libm-vax/Makefile --- src-uclibc-fresh/libm-vax/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/Makefile 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,22 @@ +TARGET=vax-linux-uclibc- +AR=$(TARGET)ar +CC=$(TARGET)gcc +CFLAGS= + +OBJ=sinl.o sin.o sinf.o cosl.o cos.o cosf.o + +all: libm.a test + +libm.a: $(OBJ) + $(AR) -rc libm.a $(OBJ) + +test: libm.a test.o + $(CC) -fno-builtin -Wall -W -Werror -pedantic -std=c99 -o test test.o libm.a + +.c.o: + $(CC) $(CFLAGS) -fno-builtin -Wall -W -Werror -pedantic -std=c99 -c $*.c + +celan: clean +clean: + -rm -f *.o *.a test + diff -Nupr src-uclibc-fresh/libm-vax/sin.c src-uclibc-hacked/libm-vax/sin.c --- src-uclibc-fresh/libm-vax/sin.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sin.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,9 @@ + +extern long double sinl (long double x); + +double +sin (double x) +{ + return sinl (x); +} + diff -Nupr src-uclibc-fresh/libm-vax/sinf.c src-uclibc-hacked/libm-vax/sinf.c --- src-uclibc-fresh/libm-vax/sinf.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinf.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,9 @@ + +extern double sin (double x); + +float +sinf (float x) +{ + return sin (x); +} + diff -Nupr src-uclibc-fresh/libm-vax/sinl.c src-uclibc-hacked/libm-vax/sinl.c --- src-uclibc-fresh/libm-vax/sinl.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/sinl.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,55 @@ +/* http://en.wikipedia.org/wiki/Pi */ +#define __VAX_PI 3.14159265358979323846264338327950288419716939937510L + +static long double +taylor_sinl (long double x, int i) +{ + long double divisor = 1.0; + long double dividend = 1.0; + int n; + + for (n = 0; n < i; n++) { + divisor *= x; + dividend *= (n + 1); + } + + if (i % 4 == 3) + divisor *= -1.0; + + return divisor / dividend; +} + +long double +sinl (long double x) +{ + long double result = 0.0; + int n_pi; + int i; + + /* sin(-x) = -sin(x) */ + if (x < 0.0) + return -sinl (-x); + + /* left-shift x to be in [0..2pi[ */ + n_pi = x / __VAX_PI; + if (n_pi >= 2) + x -= (n_pi/2*2) * __VAX_PI; + + /* [pi..2pi[ is negatively mapped to [0..pi[ */ + if (x >= __VAX_PI) + return -sinl (x - __VAX_PI); + + /* Mirror [pi/2..pi] -> [pi/2..0] */ + if (x >= __VAX_PI/2.0) + return sinl (__VAX_PI - x); + + /* + * The remaining part which is not solved recursively is in + * the range of [0..pi/2] and will be approximated by a polynom. + */ + for (i = 1; i < 30; i += 2) + result += taylor_sinl (x, i); + + return result; +} + diff -Nupr src-uclibc-fresh/libm-vax/test.c src-uclibc-hacked/libm-vax/test.c --- src-uclibc-fresh/libm-vax/test.c 1970-01-01 01:00:00.000000000 +0100 +++ src-uclibc-hacked/libm-vax/test.c 2005-11-09 23:09:38.000000000 +0100 @@ -0,0 +1,21 @@ +#include <stdio.h> + +extern double sin (double x); +extern double cos (double x); + +int +main (void) +{ + int i; + + printf ("scale=20\n"); + + for (i = -10000; i <= 10000; i++) { + double x = i / 1000.0; + printf ("%20.18lf-s(%20.18lf)\n", sin (x), x); + printf ("%20.18lf-c(%20.18lf)\n", cos (x), x); + } + + return 0; +} + |
From: Jan-Benedict G. <jb...@us...> - 2005-11-09 23:24:29
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15355/scripts Modified Files: build_toolchain.sh Log Message: - Use our own libm instead of the IEEE one from uClibc. Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- build_toolchain.sh 2 Nov 2005 18:08:15 -0000 1.27 +++ build_toolchain.sh 9 Nov 2005 23:24:21 -0000 1.28 @@ -590,6 +590,19 @@ # Install build "${BUILD_GCC1}" && execute make install + case "${TARGET}" in + vax-*) + pushd "${UCLIBC_SRC}/libm-vax" + execute make TARGET="${TARGET}-" libm.a + execute cp "${INSTALL_BASE}/usr/${TARGET}/lib/lib/libm.a" \ + "${INSTALL_BASE}/usr/${TARGET}/lib/lib/libm-uClibc.a" + execute cp libm.a "${INSTALL_BASE}/usr/${TARGET}/lib/lib/" + popd + ;; + *) + :;; + esac + # Fixup. Until LINK_SPEC is correct for GCC, we need to fiddle # with library and header file location... pushd "${INSTALL_BASE}/usr/${TARGET}/lib" |
From: Jan-Benedict G. <jb...@us...> - 2005-11-02 18:08:27
|
Update of /cvsroot/linux-vax/toolchain/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4091 Modified Files: build_toolchain.sh Log Message: - Clean-up commented-out old commands Index: build_toolchain.sh =================================================================== RCS file: /cvsroot/linux-vax/toolchain/scripts/build_toolchain.sh,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- build_toolchain.sh 2 Nov 2005 18:02:09 -0000 1.26 +++ build_toolchain.sh 2 Nov 2005 18:08:15 -0000 1.27 @@ -40,7 +40,7 @@ # # Flags for make. # -#MAKEFLAGS="-j2" +# MAKEFLAGS="-j2" # # Default target (if it's not given on command line) @@ -582,15 +582,12 @@ # Prepare build "${BUILD_UCLIBC}" && execute ./extra/scripts/create_makefiles.sh - ###build "${BUILD_UCLIBC}" && execute make -f Makefile.in oldconfig build "${BUILD_UCLIBC}" && execute make oldconfig # Build - ###build "${BUILD_GCC1}" && execute make -f Makefile.in ${MAKEFLAGS} build "${BUILD_GCC1}" && execute make ${MAKEFLAGS} # Install - ###build "${BUILD_GCC1}" && execute make -f Makefile.in install build "${BUILD_GCC1}" && execute make install # Fixup. Until LINK_SPEC is correct for GCC, we need to fiddle |