From aldot at uclibc.org Wed Jan 3 14:53:41 2007 From: aldot at uclibc.org (aldot at uclibc.org) Date: Wed, 3 Jan 2007 14:53:41 -0800 (PST) Subject: svn commit: trunk/uClibc/extra/Configs Message-ID: <20070103225341.03C3F48656@busybox.net> Author: aldot Date: 2007-01-03 14:53:41 -0800 (Wed, 03 Jan 2007) New Revision: 17150 Log: - s/Attemt/Attempt/ Modified: trunk/uClibc/extra/Configs/Config.in Changeset: Modified: trunk/uClibc/extra/Configs/Config.in =================================================================== --- trunk/uClibc/extra/Configs/Config.in 2007-01-03 22:29:01 UTC (rev 17149) +++ trunk/uClibc/extra/Configs/Config.in 2007-01-03 22:53:41 UTC (rev 17150) @@ -945,7 +945,7 @@ endchoice config UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT - bool "Attemt to shutdown stdio subsystem when abort() is called." + bool "Attempt to shutdown stdio subsystem when abort() is called." default n help ANSI/ISO C99 requires abort() to be asyn-signal-safe. So there was a behavioral From vapier at uclibc.org Fri Jan 5 01:09:23 2007 From: vapier at uclibc.org (vapier at uclibc.org) Date: Fri, 5 Jan 2007 01:09:23 -0800 (PST) Subject: svn commit: trunk/uClibc/libc/sysdeps/linux/nios2: bits Message-ID: <20070105090923.A396B4867C@busybox.net> Author: vapier Date: 2007-01-05 01:09:22 -0800 (Fri, 05 Jan 2007) New Revision: 17161 Log: Atle Nissestad writes: The attached patch fixes compilation of the current svn on the nios2 platform, and updates the crt1/n/i.S files to get CTOR/DTOR-support to work. Modified: trunk/uClibc/libc/sysdeps/linux/nios2/bits/mman.h trunk/uClibc/libc/sysdeps/linux/nios2/bits/syscalls.h trunk/uClibc/libc/sysdeps/linux/nios2/crt1.S trunk/uClibc/libc/sysdeps/linux/nios2/crti.S trunk/uClibc/libc/sysdeps/linux/nios2/crtn.S trunk/uClibc/libc/sysdeps/linux/nios2/vfork.S Changeset: Modified: trunk/uClibc/libc/sysdeps/linux/nios2/bits/mman.h =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios2/bits/mman.h 2007-01-04 22:13:25 UTC (rev 17160) +++ trunk/uClibc/libc/sysdeps/linux/nios2/bits/mman.h 2007-01-05 09:09:22 UTC (rev 17161) @@ -59,6 +59,15 @@ # define MAP_NORESERVE 0x4000 /* Don't check for reservations. */ #endif +/* Advice to `madvise'. */ +#ifdef __USE_BSD +# define MADV_NORMAL 0 /* No further special treatment. */ +# define MADV_RANDOM 1 /* Expect random page references. */ +# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define MADV_WILLNEED 3 /* Will need these pages. */ +# define MADV_DONTNEED 4 /* Don't need these pages. */ +#endif + /* Flags to `msync'. */ #define MS_ASYNC 1 /* Sync memory asynchronously. */ #define MS_SYNC 4 /* Synchronous memory sync. */ Modified: trunk/uClibc/libc/sysdeps/linux/nios2/bits/syscalls.h =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios2/bits/syscalls.h 2007-01-04 22:13:25 UTC (rev 17160) +++ trunk/uClibc/libc/sysdeps/linux/nios2/bits/syscalls.h 2007-01-05 09:09:22 UTC (rev 17161) @@ -4,12 +4,292 @@ # error "Never use directly; include instead." #endif -#include +#ifndef __ASSEMBLER__ -/* Do something very evil for now. Until we create our own syscall - * macros, short circuit bits/sysnum.h and use asm/unistd.h instead */ -#warning "fixme -- add arch specific syscall macros.h" -#include +#include +#include +#define __syscall_return(type, res) \ +do { \ + if ((unsigned long)(res) >= (unsigned long)(-125)) { \ + \ + /* avoid using res which is declared to be in \ + register r2; errno might expand to a function \ + call and clobber it. */ \ + \ + int __err = -(res); \ + errno = __err; \ + res = -1; \ + } \ + return (type) (res); \ +} while (0) + +#define _syscall0(type,name) \ +type name(void) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + " mov r4, %3\n\t" /* (long) a */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + , "r" ((long) a) /* %3 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + , "r4" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + " mov r4, %3\n\t" /* (long) a */ \ + " mov r5, %4\n\t" /* (long) b */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + , "r" ((long) a) /* %3 */ \ + , "r" ((long) b) /* %4 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + , "r4" /* Clobbered */ \ + , "r5" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + " mov r4, %3\n\t" /* (long) a */ \ + " mov r5, %4\n\t" /* (long) b */ \ + " mov r6, %5\n\t" /* (long) c */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + , "r" ((long) a) /* %3 */ \ + , "r" ((long) b) /* %4 */ \ + , "r" ((long) c) /* %5 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + , "r4" /* Clobbered */ \ + , "r5" /* Clobbered */ \ + , "r6" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \ +type name (atype a, btype b, ctype c, dtype d) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + " mov r4, %3\n\t" /* (long) a */ \ + " mov r5, %4\n\t" /* (long) b */ \ + " mov r6, %5\n\t" /* (long) c */ \ + " mov r7, %6\n\t" /* (long) d */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + , "r" ((long) a) /* %3 */ \ + , "r" ((long) b) /* %4 */ \ + , "r" ((long) c) /* %5 */ \ + , "r" ((long) d) /* %6 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + , "r4" /* Clobbered */ \ + , "r5" /* Clobbered */ \ + , "r6" /* Clobbered */ \ + , "r7" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ +type name (atype a,btype b,ctype c,dtype d,etype e) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + " mov r4, %3\n\t" /* (long) a */ \ + " mov r5, %4\n\t" /* (long) b */ \ + " mov r6, %5\n\t" /* (long) c */ \ + " mov r7, %6\n\t" /* (long) c */ \ + " mov r8, %7\n\t" /* (long) e */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + , "r" ((long) a) /* %3 */ \ + , "r" ((long) b) /* %4 */ \ + , "r" ((long) c) /* %5 */ \ + , "r" ((long) d) /* %6 */ \ + , "r" ((long) e) /* %7 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + , "r4" /* Clobbered */ \ + , "r5" /* Clobbered */ \ + , "r6" /* Clobbered */ \ + , "r7" /* Clobbered */ \ + , "r8" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \ +type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \ +{ \ + long __res; \ + \ + __asm__ __volatile__ ( \ + \ + " \n\t" \ + \ + " movi r2, %2\n\t" /* TRAP_ID_SYSCALL */ \ + " movi r3, %1\n\t" /* __NR_##name */ \ + " mov r4, %3\n\t" /* (long) a */ \ + " mov r5, %4\n\t" /* (long) b */ \ + " mov r6, %5\n\t" /* (long) c */ \ + " mov r7, %6\n\t" /* (long) c */ \ + " mov r8, %7\n\t" /* (long) e */ \ + " mov r9, %8\n\t" /* (long) f */ \ + \ + " trap\n\t" \ + " mov %0, r2\n\t" /* syscall rtn */ \ + \ + " \n\t" \ + \ + : "=r" (__res) /* %0 */ \ + \ + : "i" (__NR_##name) /* %1 */ \ + , "i" (TRAP_ID_SYSCALL) /* %2 */ \ + , "r" ((long) a) /* %3 */ \ + , "r" ((long) b) /* %4 */ \ + , "r" ((long) c) /* %5 */ \ + , "r" ((long) d) /* %6 */ \ + , "r" ((long) e) /* %7 */ \ + , "r" ((long) f) /* %8 */ \ + \ + : "r2" /* Clobbered */ \ + , "r3" /* Clobbered */ \ + , "r4" /* Clobbered */ \ + , "r5" /* Clobbered */ \ + , "r6" /* Clobbered */ \ + , "r7" /* Clobbered */ \ + , "r8" /* Clobbered */ \ + , "r9" /* Clobbered */ \ + ); \ + \ +__syscall_return(type,__res); \ +} + +#endif /* __ASSEMBLER__ */ #endif /* _BITS_SYSCALLS_H */ Modified: trunk/uClibc/libc/sysdeps/linux/nios2/crt1.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios2/crt1.S 2007-01-04 22:13:25 UTC (rev 17160) +++ trunk/uClibc/libc/sysdeps/linux/nios2/crt1.S 2007-01-05 09:09:22 UTC (rev 17161) @@ -16,9 +16,13 @@ #include .global _start - .type __start, at function + .type _start, at function + .type _init,%function + .type _fini,%function +#ifndef __UCLIBC_CTOR_DTOR__ .weak _init .weak _fini +#endif .type main, at function .type __uClibc_main, at function .type __h_errno_location, @function Modified: trunk/uClibc/libc/sysdeps/linux/nios2/crti.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios2/crti.S 2007-01-04 22:13:25 UTC (rev 17160) +++ trunk/uClibc/libc/sysdeps/linux/nios2/crti.S 2007-01-05 09:09:22 UTC (rev 17161) @@ -1,31 +1,22 @@ - .file "initfini.c" -#APP - + .section .init -#NO_APP .balign 4 - .global __init - .type __init, @function -__init: + .global _init + .type _init, @function +_init: addi sp, sp, -8 stw ra, 0(sp) stw fp, 4(sp) -#APP - + .balign 4 .section .fini -#NO_APP .balign 4 - .global __fini - .type __fini, @function -__fini: + .global _fini + .type _fini, @function +_fini: addi sp, sp, -8 stw ra, 0(sp) stw fp, 4(sp) -#APP .balign 4 - - - .ident "GCC: (GNU) 3.3.2" Modified: trunk/uClibc/libc/sysdeps/linux/nios2/crtn.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios2/crtn.S 2007-01-04 22:13:25 UTC (rev 17160) +++ trunk/uClibc/libc/sysdeps/linux/nios2/crtn.S 2007-01-05 09:09:22 UTC (rev 17161) @@ -1,30 +1,14 @@ - .file "initfini.c" -#APP - + .section .init -#NO_APP - .balign 4 - .globl _init - .type _init, @function -#NO_APP + ldw ra, 0(sp) ldw fp, 4(sp) addi sp, sp, 8 ret - .size _init, .-_init -#APP - + .section .fini -#NO_APP - .balign 4 - .globl _fini - .type _fini, @function -#NO_APP + ldw ra, 0(sp) ldw fp, 4(sp) addi sp, sp, 8 ret - .size _fini, .-_fini -#APP - - .ident "GCC: (GNU) 3.3.2" Modified: trunk/uClibc/libc/sysdeps/linux/nios2/vfork.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/nios2/vfork.S 2007-01-04 22:13:25 UTC (rev 17160) +++ trunk/uClibc/libc/sysdeps/linux/nios2/vfork.S 2007-01-05 09:09:22 UTC (rev 17161) @@ -14,7 +14,7 @@ #define _ERRNO_H #include -#include +#include #ifndef __NR_vfork #define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */ From jocke at uclibc.org Fri Jan 5 02:20:38 2007 From: jocke at uclibc.org (jocke at uclibc.org) Date: Fri, 5 Jan 2007 02:20:38 -0800 (PST) Subject: svn commit: trunk/uClibc: ldso/ldso/powerpc libc/sysdeps/linux/po etc... Message-ID: <20070105102038.42B2D4866A@busybox.net> Author: jocke Date: 2007-01-05 02:20:37 -0800 (Fri, 05 Jan 2007) New Revision: 17162 Log: Support SecurePLTs for PowerPC. You need a toolchain that supports config option --enable-secureplt. The assembler must also supports R_PPC_REL16* relocations. gcc 4.1.1 and binutils 2.17 is known to do this. Modified: trunk/uClibc/Rules.mak trunk/uClibc/ldso/ldso/powerpc/dl-startup.h trunk/uClibc/ldso/ldso/powerpc/dl-sysdep.h trunk/uClibc/ldso/ldso/powerpc/elfinterp.c trunk/uClibc/libc/sysdeps/linux/powerpc/brk.S trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-_setjmp.S trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-setjmp.S trunk/uClibc/libc/sysdeps/linux/powerpc/crt1.S trunk/uClibc/libc/sysdeps/linux/powerpc/setjmp.S Changeset: Modified: trunk/uClibc/Rules.mak =================================================================== --- trunk/uClibc/Rules.mak 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/Rules.mak 2007-01-05 10:20:37 UTC (rev 17162) @@ -284,6 +284,8 @@ # faster code. PICFLAG:=-fpic PIEFLAG_NAME:=-fpie + PPC_HAS_REL16:=$(shell echo -e "\t.text\n\taddis 11,30,_GLOBAL_OFFSET_TABLE_-. at ha" | $(CC) -c -x assembler -o /dev/null - 2> /dev/null && echo -n y || echo -n n) + CPU_CFLAGS-$(PPC_HAS_REL16)+= -DHAVE_ASM_PPC_REL16 endif ifeq ($(TARGET_ARCH),frv) Modified: trunk/uClibc/ldso/ldso/powerpc/dl-startup.h =================================================================== --- trunk/uClibc/ldso/ldso/powerpc/dl-startup.h 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/ldso/ldso/powerpc/dl-startup.h 2007-01-05 10:20:37 UTC (rev 17162) @@ -16,8 +16,15 @@ " bl _dl_start at local\n" /* Perform relocation */ /* Save the address of the apps entry point in CTR register */ " mtctr 3\n" /* application entry point */ +#ifdef HAVE_ASM_PPC_REL16 + " bcl 20,31,1f\n" + "1: mflr 31\n" + " addis 31,31,_GLOBAL_OFFSET_TABLE_-1b at ha\n" + " addi 31,31,_GLOBAL_OFFSET_TABLE_-1b at l\n" +#else " bl _GLOBAL_OFFSET_TABLE_-4 at local\n" /* Put our GOT pointer in r31, */ " mflr 31\n" +#endif " addi 1,1,16\n" /* Restore SP */ " lwz 7,_dl_skip_args at got(31)\n" /* load EA of _dl_skip_args */ " lwz 7,0(7)\n" /* Load word from _dl_skip_args */ Modified: trunk/uClibc/ldso/ldso/powerpc/dl-sysdep.h =================================================================== --- trunk/uClibc/ldso/ldso/powerpc/dl-sysdep.h 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/ldso/ldso/powerpc/dl-sysdep.h 2007-01-05 10:20:37 UTC (rev 17162) @@ -89,23 +89,38 @@ DT_RELA table. */ #define ELF_MACHINE_PLTREL_OVERLAP 1 +/* Return the value of the GOT pointer. */ +static inline Elf32_Addr * __attribute__ ((const)) +ppc_got (void) +{ + Elf32_Addr *got; +#ifdef HAVE_ASM_PPC_REL16 + asm (" bcl 20,31,1f\n" + "1:mflr %0\n" + " addis %0,%0,_GLOBAL_OFFSET_TABLE_-1b at ha\n" + " addi %0,%0,_GLOBAL_OFFSET_TABLE_-1b at l\n" + : "=b" (got) : : "lr"); +#else + asm (" bl _GLOBAL_OFFSET_TABLE_-4 at local" + : "=l" (got)); +#endif + return got; +} + /* Return the link-time address of _DYNAMIC, stored as the first value in the GOT. */ -static inline Elf32_Addr +static inline Elf32_Addr __attribute__ ((const)) elf_machine_dynamic (void) { - Elf32_Addr *got; - asm (" bl _GLOBAL_OFFSET_TABLE_-4 at local" - : "=l"(got)); - return *got; + return *ppc_got(); } /* Return the run-time load address of the shared object. */ -static inline Elf32_Addr +static inline Elf32_Addr __attribute__ ((const)) elf_machine_load_address (void) { - unsigned int *got; - unsigned int *branchaddr; + Elf32_Addr *branchaddr; + Elf32_Addr runtime_dynamic; /* This is much harder than you'd expect. Possibly I'm missing something. The 'obvious' way: @@ -136,19 +151,17 @@ the address ourselves. That gives us the following code: */ /* Get address of the 'b _DYNAMIC at local'... */ - asm ("bl 0f ;" + asm ("bcl 20,31,0f;" "b _DYNAMIC at local;" "0:" : "=l"(branchaddr)); - /* ... and the address of the GOT. */ - asm (" bl _GLOBAL_OFFSET_TABLE_-4 at local" - : "=l"(got)); - /* So now work out the difference between where the branch actually points, and the offset of that location in memory from the start of the file. */ - return ((Elf32_Addr)branchaddr - *got - + ((int)(*branchaddr << 6 & 0xffffff00) >> 6)); + runtime_dynamic = ((Elf32_Addr) branchaddr + + ((Elf32_Sword) (*branchaddr << 6 & 0xffffff00) >> 6)); + + return runtime_dynamic - elf_machine_dynamic (); } static inline void @@ -163,3 +176,12 @@ *reloc_addr = load_off + rpnt->r_addend; } while (--relative_count); } + +#define ARCH_NUM 1 +#define DT_PPC_GOT_IDX (DT_NUM + OS_NUM) + +#define ARCH_DYNAMIC_INFO(dpnt, dynamic, debug_addr) \ +do { \ +if (dpnt->d_tag == DT_PPC_GOT) \ + dynamic[DT_PPC_GOT_IDX] = dpnt->d_un.d_ptr; \ +} while (0) Modified: trunk/uClibc/ldso/ldso/powerpc/elfinterp.c =================================================================== --- trunk/uClibc/ldso/ldso/powerpc/elfinterp.c 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/ldso/ldso/powerpc/elfinterp.c 2007-01-05 10:20:37 UTC (rev 17162) @@ -41,6 +41,12 @@ Elf32_Word rel_offset_words; Elf32_Word dlrr = (Elf32_Word) _dl_linux_resolve; + if (tpnt->dynamic_info[DT_JMPREL] == 0) + return; + if (tpnt->dynamic_info[DT_PPC_GOT_IDX] != 0) { + tpnt->dynamic_info[DT_PPC_GOT_IDX] += tpnt->loadaddr; + return; + } num_plt_entries = tpnt->dynamic_info[DT_PLTRELSZ] / sizeof(ELF_RELOC); rel_offset_words = PLT_DATA_START_WORDS(num_plt_entries); data_words = (Elf32_Word) (plt + rel_offset_words); @@ -148,32 +154,35 @@ if (_dl_debug_reloc && _dl_debug_detail) _dl_dprintf(_dl_debug_file, "%x\n", finaladdr); #endif - delta = finaladdr - (Elf32_Word)reloc_addr; - if (delta<<6>>6 == delta) { - *reloc_addr = OPCODE_B(delta); - } else if (finaladdr <= 0x01fffffc) { - *reloc_addr = OPCODE_BA (finaladdr); + if (tpnt->dynamic_info[DT_PPC_GOT_IDX] != 0) { + *reloc_addr = finaladdr; } else { - /* Warning: we don't handle double-sized PLT entries */ - Elf32_Word *plt, *data_words, index, offset; + delta = finaladdr - (Elf32_Word)reloc_addr; + if (delta<<6>>6 == delta) { + *reloc_addr = OPCODE_B(delta); + } else if (finaladdr <= 0x01fffffc) { + *reloc_addr = OPCODE_BA (finaladdr); + } else { + /* Warning: we don't handle double-sized PLT entries */ + Elf32_Word *plt, *data_words, index, offset; - plt = (Elf32_Word *)tpnt->dynamic_info[DT_PLTGOT]; - offset = reloc_addr - plt; - index = (offset - PLT_INITIAL_ENTRY_WORDS)/2; - data_words = (Elf32_Word *)tpnt->data_words; - reloc_addr += 1; + plt = (Elf32_Word *)tpnt->dynamic_info[DT_PLTGOT]; + offset = reloc_addr - plt; + index = (offset - PLT_INITIAL_ENTRY_WORDS)/2; + data_words = (Elf32_Word *)tpnt->data_words; + reloc_addr += 1; - data_words[index] = finaladdr; + data_words[index] = finaladdr; + PPC_SYNC; + *reloc_addr = OPCODE_B ((PLT_LONGBRANCH_ENTRY_WORDS - (offset+1)) * 4); + } + + /* instructions were modified */ + PPC_DCBST(reloc_addr); PPC_SYNC; - *reloc_addr = OPCODE_B ((PLT_LONGBRANCH_ENTRY_WORDS - (offset+1)) * 4); + PPC_ICBI(reloc_addr); + PPC_ISYNC; } - - /* instructions were modified */ - PPC_DCBST(reloc_addr); - PPC_SYNC; - PPC_ICBI(reloc_addr); - PPC_ISYNC; - return finaladdr; } @@ -219,28 +228,33 @@ goto out_nocode; /* No code code modified */ case R_PPC_JMP_SLOT: { - Elf32_Sword delta = finaladdr - (Elf32_Word)reloc_addr; - if (delta<<6>>6 == delta) { - *reloc_addr = OPCODE_B(delta); - } else if (finaladdr <= 0x01fffffc) { - *reloc_addr = OPCODE_BA (finaladdr); + if (tpnt->dynamic_info[DT_PPC_GOT_IDX] != 0) { + *reloc_addr = finaladdr; + goto out_nocode; /* No code code modified */ } else { - /* Warning: we don't handle double-sized PLT entries */ - Elf32_Word *plt, *data_words, index, offset; + Elf32_Sword delta = finaladdr - (Elf32_Word)reloc_addr; + if (delta<<6>>6 == delta) { + *reloc_addr = OPCODE_B(delta); + } else if (finaladdr <= 0x01fffffc) { + *reloc_addr = OPCODE_BA (finaladdr); + } else { + /* Warning: we don't handle double-sized PLT entries */ + Elf32_Word *plt, *data_words, index, offset; - plt = (Elf32_Word *)tpnt->dynamic_info[DT_PLTGOT]; - offset = reloc_addr - plt; - index = (offset - PLT_INITIAL_ENTRY_WORDS)/2; - data_words = (Elf32_Word *)tpnt->data_words; + plt = (Elf32_Word *)tpnt->dynamic_info[DT_PLTGOT]; + offset = reloc_addr - plt; + index = (offset - PLT_INITIAL_ENTRY_WORDS)/2; + data_words = (Elf32_Word *)tpnt->data_words; - data_words[index] = finaladdr; - reloc_addr[0] = OPCODE_LI(11,index*4); - reloc_addr[1] = OPCODE_B((PLT_LONGBRANCH_ENTRY_WORDS - (offset+1)) * 4); + data_words[index] = finaladdr; + reloc_addr[0] = OPCODE_LI(11,index*4); + reloc_addr[1] = OPCODE_B((PLT_LONGBRANCH_ENTRY_WORDS - (offset+1)) * 4); - /* instructions were modified */ - PPC_DCBST(reloc_addr+1); - PPC_SYNC; - PPC_ICBI(reloc_addr+1); + /* instructions were modified */ + PPC_DCBST(reloc_addr+1); + PPC_SYNC; + PPC_ICBI(reloc_addr+1); + } } break; } @@ -309,9 +323,22 @@ Elf32_Word *plt, offset, i, num_plt_entries, rel_offset_words; num_plt_entries = rel_size / sizeof(ELF_RELOC); + plt = (Elf32_Word *)tpnt->dynamic_info[DT_PLTGOT]; + if (tpnt->dynamic_info[DT_PPC_GOT_IDX] != 0) { + /* Secure PLT */ + Elf32_Addr *got = (Elf32_Addr *)tpnt->dynamic_info[DT_PPC_GOT_IDX]; + Elf32_Word dlrr = (Elf32_Word) _dl_linux_resolve; + got[1] = (Elf32_Addr) dlrr; + got[2] = (Elf32_Addr) tpnt; + + /* Relocate everything in .plt by the load address offset. */ + while (num_plt_entries-- != 0) + *plt++ += tpnt->loadaddr; + return; + } + rel_offset_words = PLT_DATA_START_WORDS(num_plt_entries); - plt = (Elf32_Word *)tpnt->dynamic_info[DT_PLTGOT]; /* Set up the lazy PLT entries. */ offset = PLT_INITIAL_ENTRY_WORDS; Modified: trunk/uClibc/libc/sysdeps/linux/powerpc/brk.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/powerpc/brk.S 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/libc/sysdeps/linux/powerpc/brk.S 2007-01-05 10:20:37 UTC (rev 17162) @@ -50,8 +50,15 @@ lwz r6,8(r1) #ifdef __PIC__ mflr r4 +# ifdef HAVE_ASM_PPC_REL16 + bcl 20,31,1f +1: mflr r5 + addis r5,r5,_GLOBAL_OFFSET_TABLE_-1b at ha + addi r5,r5,_GLOBAL_OFFSET_TABLE_-1b at l +# else bl _GLOBAL_OFFSET_TABLE_ at local-4 mflr r5 +# endif lwz r5,__curbrk at got(r5) mtlr r4 stw r3,0(r5) Modified: trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-_setjmp.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-_setjmp.S 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-_setjmp.S 2007-01-05 10:20:37 UTC (rev 17162) @@ -29,9 +29,7 @@ _setjmp: li r4,0 /* Set second argument to 0. */ -#ifdef __PIC__ - b __sigsetjmp at plt -#else - b __sigsetjmp -#endif + + b __sigsetjmp at local + .size _setjmp,.-_setjmp Modified: trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-setjmp.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-setjmp.S 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/libc/sysdeps/linux/powerpc/bsd-setjmp.S 2007-01-05 10:20:37 UTC (rev 17162) @@ -29,11 +29,9 @@ __setjmp: li r4,1 /* Set second argument to 1. */ -#ifdef __PIC__ - b __sigsetjmp at plt -#else - b __sigsetjmp -#endif + + b __sigsetjmp at local + .size __setjmp,.-__setjmp .globl setjmp; Modified: trunk/uClibc/libc/sysdeps/linux/powerpc/crt1.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/powerpc/crt1.S 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/libc/sysdeps/linux/powerpc/crt1.S 2007-01-05 10:20:37 UTC (rev 17162) @@ -48,8 +48,15 @@ mr r9,r1 /* Save the stack pointer and pass it to __uClibc_main */ clrrwi r1,r1,4 /* Align stack ptr to 16 bytes */ #ifdef __PIC__ +# ifdef HAVE_ASM_PPC_REL16 + bcl 20,31,1f +1: mflr r31 + addis r31,r31,_GLOBAL_OFFSET_TABLE_-1b at ha + addi r31,r31,_GLOBAL_OFFSET_TABLE_-1b at l +# else bl _GLOBAL_OFFSET_TABLE_-4 at local mflr r31 +# endif #endif /* Set up an initial stack frame, and clear the LR. */ li r0,0 Modified: trunk/uClibc/libc/sysdeps/linux/powerpc/setjmp.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/powerpc/setjmp.S 2007-01-05 09:09:22 UTC (rev 17161) +++ trunk/uClibc/libc/sysdeps/linux/powerpc/setjmp.S 2007-01-05 10:20:37 UTC (rev 17162) @@ -76,9 +76,7 @@ FP( stfd fp30,((JB_FPRS+16*2)*4)(3)) stw r31,((JB_GPRS+17)*4)(3) FP( stfd fp31,((JB_FPRS+17*2)*4)(3)) -#ifdef __PIC__ - b __sigjmp_save at plt -#else - b __sigjmp_save -#endif + + b __sigjmp_save at local + .size __sigsetjmp,.-__sigsetjmp From bugs at busybox.net Tue Jan 9 05:06:24 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Tue, 9 Jan 2007 05:06:24 -0800 Subject: [buildroot 0001114]: Cannot build ARM eabi toolchain Message-ID: <718019ca530203cb689fec8c04431e64@bugs.busybox.net> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=1114 ====================================================================== Reported By: mikewhit Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1114 Category: Architecture Specific Reproducibility: always Severity: major Priority: normal Status: assigned ====================================================================== Date Submitted: 12-13-2006 01:58 PST Last Modified: 01-09-2007 05:06 PST ====================================================================== Summary: Cannot build ARM eabi toolchain Description: Building of arm-eabi toolchain fails due to missing linker emulation: >> /home/fred/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibcgnueabi/bin/ld: unrecognised emulation mode: armelf_linux Supported emulations: armelf_linux_eabi collect2: ld returned 1 exit status << ====================================================================== ---------------------------------------------------------------------- mikewhit - 12-13-06 02:43 ---------------------------------------------------------------------- This is actually a Blocking issue, since cannot use Buildroot without EABI support. ---------------------------------------------------------------------- bernhardf - 12-21-06 03:50 ---------------------------------------------------------------------- post your egrep -v "^(#|$)" .config egrep -v "^(#|$)" uClibc.config egrep -v "^(#|$)" busybox.config egrep -v "^(#|$)" kernel.config So i can try to reproduce it locally. ---------------------------------------------------------------------- stephaneC - 01-09-07 05:06 ---------------------------------------------------------------------- I have the same problem with : buildroot rev 17204 ARM920T / EABI / gcc-3.4.6 see below for my .config and uClibc.config 1st error is bug 1131 : file toolchain_build_arm_nofpu/uClibc/libc/misc/glob/glob.c line 364 #if !defined COMPILE_GLOB64 to #if defined __UCLIBC_HAS_LFS__ && !defined COMPILE_GLOB64 2nd error : --- [snip]buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibcgnueabi/bin/ld: unrecognised emulation mode: armelf_linux Supported emulations: armelf_linux_eabi armelfb_linux_eabi collect2: ld returned 1 exit status make[3]: *** [libgcc/./_udivsi3.oS] Erreur 1 make[3]: quittant le r?pertoire ? [snip]buildroot/toolchain_build_arm_nofpu/gcc-3.4.6-final/gcc ? make[2]: *** [libgcc.a] Erreur 2 --- file toolchain_build_arm_nofpu/gcc-3.4.6/gcc/config/arm/linux-elf.h line 44 #define TARGET_LINKER_EMULATION "armelf_linux" to #define TARGET_LINKER_EMULATION "armelf_linux_eabi" after that all is ok I hope this can help you Stephane -------------- egrep -v "^(#|$)" .config ------------------- BR2_HAVE_DOT_CONFIG=y BR2_arm=y BR2_arm920t=y BR2_ARM_TYPE="ARM920T" BR2_ARM_EABI=y BR2_ARCH="arm" BR2_ENDIAN="LITTLE" BR2_WGET="wget --passive-ftp" BR2_SVN="svn co" BR2_ZCAT="zcat" BR2_BZCAT="bzcat" BR2_TAR_OPTIONS="" BR2_DL_DIR="$(BASE_DIR)/dl" BR2_SOURCEFORGE_MIRROR="easynews" BR2_STAGING_DIR="$(BUILD_DIR)/staging_dir" BR2_TOPDIR_PREFIX="" BR2_TOPDIR_SUFFIX="" BR2_GNU_BUILD_SUFFIX="pc-linux-gnu" BR2_GNU_TARGET_SUFFIX="linux-uclibcgnueabi" BR2_JLEVEL=1 BR2_KERNEL_HEADERS_2_6_19_1=y BR2_DEFAULT_KERNEL_HEADERS="2.6.19.1" BR2_UCLIBC_VERSION_SNAPSHOT=y BR2_USE_UCLIBC_SNAPSHOT="snapshot" BR2_PTHREADS_OLD=y BR2_BINUTILS_VERSION_2_17_50_0_8=y BR2_BINUTILS_VERSION="2.17.50.0.8" BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" BR2_GCC_VERSION_3_4_6=y BR2_GCC_VERSION="3.4.6" BR2_EXTRA_GCC_CONFIG_OPTIONS="" BR2_GCC_SHARED_LIBGCC=y BR2_ENABLE_MULTILIB=y BR2_SOFT_FLOAT=y BR2_TARGET_OPTIMIZATION="-Os -pipe" BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y BR2_PACKAGE_BUSYBOX=y BR2_PACKAGE_BUSYBOX_SNAPSHOT=y BR2_PACKAGE_BUSYBOX_INSTALL_SYMLINKS=y BR2_PACKAGE_BUSYBOX_CONFIG="/home/be/Buildroot/config_busybox" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 BR2_TARGET_ROOTFS_EXT2_INODES=0 BR2_TARGET_ROOTFS_EXT2_RESBLKS=0 BR2_TARGET_ROOTFS_EXT2_SQUASH=y BR2_TARGET_ROOTFS_EXT2_OUTPUT="$(IMAGE).ext2" BR2_TARGET_ROOTFS_EXT2_NONE=y BR2_TARGET_ROOTFS_EXT2_COPYTO="" ----------------------------------------------------------------------------------------- -------------- egrep -v "^(#|$)" ./toolchain_build_arm_nofpu/uClibc/.config ---------------- TARGET_arm=y TARGET_ARCH="arm" FORCE_OPTIONS_FOR_ARCH=y CONFIG_ARM_EABI=y USE_BX=y CONFIG_ARM920T=y ARCH_ANY_ENDIAN=y ARCH_LITTLE_ENDIAN=y ARCH_WANTS_LITTLE_ENDIAN=y ARCH_HAS_MMU=y ARCH_USE_MMU=y UCLIBC_HAS_FLOATS=y UCLIBC_HAS_SOFT_FLOAT=y DO_C99_MATH=y KERNEL_HEADERS="/home/be/Buildroot/buildroot_EABI_3.4.6_bug/buildroot/toolchain_build_arm_nofpu/linux/include" HAVE_DOT_CONFIG=y DOPIC=y HAVE_SHARED=y LDSO_LDD_SUPPORT=y LDSO_CACHE_SUPPORT=y LDSO_BASE_FILENAME="ld.so" UCLIBC_CTOR_DTOR=y UCLIBC_HAS_THREADS=y PTHREADS_DEBUG_SUPPORT=y LINUXTHREADS_OLD=y MALLOC_STANDARD=y MALLOC_GLIBC_COMPAT=y UCLIBC_DYNAMIC_ATEXIT=y UCLIBC_SUSV3_LEGACY_MACROS=y UCLIBC_HAS_SHADOW=y UCLIBC_HAS___PROGNAME=y ASSUME_DEVPTS=y UCLIBC_HAS_TM_EXTENSIONS=y UCLIBC_HAS_TZ_CACHING=y UCLIBC_HAS_TZ_FILE=y UCLIBC_HAS_TZ_FILE_READ_MANY=y UCLIBC_TZ_FILE_PATH="/etc/TZ" UCLIBC_HAS_IPV6=y UCLIBC_HAS_RPC=y UCLIBC_HAS_FULL_RPC=y UCLIBC_HAS_REENTRANT_RPC=y UCLIBC_HAS_STRING_GENERIC_OPT=y UCLIBC_HAS_STRING_ARCH_OPT=y UCLIBC_HAS_CTYPE_TABLES=y UCLIBC_HAS_CTYPE_SIGNED=y UCLIBC_HAS_CTYPE_CHECKED=y UCLIBC_HAS_WCHAR=y UCLIBC_HAS_HEXADECIMAL_FLOATS=y UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y UCLIBC_HAS_STDIO_BUFSIZ_4096=y UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y UCLIBC_HAS_STDIO_GETC_MACRO=y UCLIBC_HAS_STDIO_PUTC_MACRO=y UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y UCLIBC_HAS_PRINTF_M_SPEC=y UCLIBC_HAS_ERRNO_MESSAGES=y UCLIBC_HAS_SIGNUM_MESSAGES=y UCLIBC_HAS_GNU_GETOPT=y UCLIBC_HAS_GNU_GETSUBOPT=y UCLIBC_HAS_REGEX=y UCLIBC_HAS_REGEX_OLD=y UCLIBC_HAS_FNMATCH=y UCLIBC_HAS_FNMATCH_OLD=y UCLIBC_HAS_FTW=y UCLIBC_HAS_GLOB=y UCLIBC_HAS_GNU_GLOB=y SHARED_LIB_LOADER_PREFIX="/lib" RUNTIME_PREFIX="/" DEVEL_PREFIX="/usr/" UCLIBC_BUILD_RELRO=y UCLIBC_BUILD_NOW=y CROSS_COMPILER_PREFIX="/home/be/Buildroot/buildroot_EABI_3.4.6_bug/buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibcgnueabi-" DOSTRIP=y WARNINGS="-Wall" ----------------------------------------------------------------------------------------- Issue History Date Modified Username Field Change ====================================================================== 12-13-06 01:58 mikewhit New Issue 12-13-06 01:58 mikewhit Status new => assigned 12-13-06 01:58 mikewhit Assigned To => uClibc 12-13-06 02:43 mikewhit Note Added: 0001860 12-21-06 03:50 bernhardf Note Added: 0001900 01-09-07 05:06 stephaneC Note Added: 0001974 ====================================================================== From jocke at uclibc.org Tue Jan 9 14:30:17 2007 From: jocke at uclibc.org (jocke at uclibc.org) Date: Tue, 9 Jan 2007 14:30:17 -0800 (PST) Subject: svn commit: trunk/uClibc/ldso/ldso Message-ID: <20070109223017.ED9CB48616@busybox.net> Author: jocke Date: 2007-01-09 14:30:16 -0800 (Tue, 09 Jan 2007) New Revision: 17209 Log: Joseph S. Myers writes: ELF symbol names are arbitrary 0-terminated sequences of bytes, and the ELF hash function is defined in the ELF specification to use unsigned char. Thus uClibc's _dl_elf_hash, using plain char, breaks when char is signed and symbol names contain bytes with the high bit set, as with GCC's ucnid-* tests. This patch fixes this problem. Modified: trunk/uClibc/ldso/ldso/dl-hash.c Changeset: Modified: trunk/uClibc/ldso/ldso/dl-hash.c =================================================================== --- trunk/uClibc/ldso/ldso/dl-hash.c 2007-01-09 17:41:54 UTC (rev 17208) +++ trunk/uClibc/ldso/ldso/dl-hash.c 2007-01-09 22:30:16 UTC (rev 17209) @@ -57,7 +57,7 @@ /* This is the hash function that is used by the ELF linker to generate the * hash table that each executable and library is required to have. We need * it to decode the hash table. */ -static inline Elf_Symndx _dl_elf_hash(const char *name) +static inline Elf_Symndx _dl_elf_hash(const unsigned char *name) { unsigned long hash=0; unsigned long tmp; @@ -138,7 +138,7 @@ const ElfW(Sym) *sym; char *weak_result = NULL; - elf_hash_number = _dl_elf_hash(name); + elf_hash_number = _dl_elf_hash((const unsigned char *)name); for (; rpnt; rpnt = rpnt->next) { tpnt = rpnt->dyn; From jocke at uclibc.org Tue Jan 9 14:38:55 2007 From: jocke at uclibc.org (jocke at uclibc.org) Date: Tue, 9 Jan 2007 14:38:55 -0800 (PST) Subject: svn commit: trunk/uClibc/libc/sysdeps/linux/common/bits Message-ID: <20070109223855.13456485C3@busybox.net> Author: jocke Date: 2007-01-09 14:38:55 -0800 (Tue, 09 Jan 2007) New Revision: 17210 Log: Aurelien Jacobs writes: After our last update a new compilation breakage appeared when compiling gcc: /home/aurel/geex/geexbox/build.i386/toolchain/i386-pc-linux-uclibc/sysroot/usr/include/bits/uClibc_stdio.h:346: error: expected initializer before 'attribute_hidden' Some investigations revealed that the following changeset is responsible for this breakage: http://uclibc.org/cgi-bin/viewcvs.cgi/trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h?rev=16801&r1=16793&r2=16801&diff_format=h Reverting just one hunk of this changeset fixed the problem us. I'm not sure this is the right fix, but please see attached patch. Look good to me. Modified: trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h Changeset: Modified: trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h =================================================================== --- trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h 2007-01-09 22:30:16 UTC (rev 17209) +++ trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_stdio.h 2007-01-09 22:38:55 UTC (rev 17210) @@ -341,7 +341,7 @@ /********************************************************************** * PROTOTYPES OF INTERNAL FUNCTIONS **********************************************************************/ -#ifdef _LIBC +#if defined _LIBC && (defined IS_IN_libc || defined NOT_IN_libc) extern void _stdio_init(void) attribute_hidden; extern void _stdio_term(void) attribute_hidden; From bugs at busybox.net Tue Jan 9 22:41:56 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Tue, 9 Jan 2007 22:41:56 -0800 Subject: [buildroot 0001150]: ed source package fails Message-ID: The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1150 ====================================================================== Reported By: Steven_Carr Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1150 Category: Architecture Specific Reproducibility: always Severity: minor Priority: normal Status: assigned ====================================================================== Date Submitted: 01-09-2007 22:41 PST Last Modified: 01-09-2007 22:41 PST ====================================================================== Summary: ed source package fails Description: The ed package on ftp.debian.org needs to be updated to version available ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-09-07 22:41 Steven_Carr New Issue 01-09-07 22:41 Steven_Carr Status new => assigned 01-09-07 22:41 Steven_Carr Assigned To => uClibc ====================================================================== From bugs at busybox.net Tue Jan 9 22:43:23 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Tue, 9 Jan 2007 22:43:23 -0800 Subject: [buildroot 0001151]: flex package fails Message-ID: The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1151 ====================================================================== Reported By: Steven_Carr Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1151 Category: Architecture Specific Reproducibility: always Severity: major Priority: normal Status: assigned ====================================================================== Date Submitted: 01-09-2007 22:43 PST Last Modified: 01-09-2007 22:43 PST ====================================================================== Summary: flex package fails Description: flex_2.5.4a.orig.tar.gz is no longer available from http://ftp.debian.org/debian/pool/main/f/flex need to uplevel to flex_2.5.33.orig.tar.gz ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-09-07 22:43 Steven_Carr New Issue 01-09-07 22:43 Steven_Carr Status new => assigned 01-09-07 22:43 Steven_Carr Assigned To => uClibc ====================================================================== From bugs at busybox.net Tue Jan 9 22:49:56 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Tue, 9 Jan 2007 22:49:56 -0800 Subject: [buildroot 0001152]: gcc toolchain built for target fails Message-ID: The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1152 ====================================================================== Reported By: Steven_Carr Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1152 Category: Other Reproducibility: always Severity: minor Priority: normal Status: assigned ====================================================================== Date Submitted: 01-09-2007 22:49 PST Last Modified: 01-09-2007 22:49 PST ====================================================================== Summary: gcc toolchain built for target fails Description: When building a "Generic development system" the compile fails. I believe this to be a typo in the gcc-uclibc-3.x.mk file. Please see the Additional Information for potential patch. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-09-07 22:49 Steven_Carr New Issue 01-09-07 22:49 Steven_Carr Status new => assigned 01-09-07 22:49 Steven_Carr Assigned To => uClibc ====================================================================== From bugs at busybox.net Tue Jan 9 23:31:09 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Tue, 9 Jan 2007 23:31:09 -0800 Subject: [buildroot 0001153]: sfdisk fails to compile Message-ID: <9341aeb38bfb49e185fd61861e15ae00@busybox.net> The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1153 ====================================================================== Reported By: Steven_Carr Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1153 Category: Architecture Specific Reproducibility: always Severity: minor Priority: normal Status: assigned ====================================================================== Date Submitted: 01-09-2007 23:31 PST Last Modified: 01-09-2007 23:31 PST ====================================================================== Summary: sfdisk fails to compile Description: Buildroot failes when compiling sfdisk ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-09-07 23:31 Steven_Carr New Issue 01-09-07 23:31 Steven_Carr Status new => assigned 01-09-07 23:31 Steven_Carr Assigned To => uClibc ====================================================================== From vapier at uclibc.org Wed Jan 10 09:02:16 2007 From: vapier at uclibc.org (vapier at uclibc.org) Date: Wed, 10 Jan 2007 09:02:16 -0800 (PST) Subject: svn commit: trunk/uClibc/libc/sysdeps/linux/bfin/sys Message-ID: <20070110170216.E796B48566@busybox.net> Author: vapier Date: 2007-01-10 09:02:16 -0800 (Wed, 10 Jan 2007) New Revision: 17225 Log: sync with upstream blackfin.uclinux.org Modified: trunk/uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h Changeset: Modified: trunk/uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h =================================================================== --- trunk/uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h 2007-01-10 10:30:56 UTC (rev 17224) +++ trunk/uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h 2007-01-10 17:02:16 UTC (rev 17225) @@ -36,100 +36,100 @@ /* Number of each register is the `gregset_t' array. */ enum { - R0 = 0, -#define R0 R0 - R1 = 1, -#define R1 R1 - R2 = 2, -#define R2 R2 - R3 = 3, -#define R3 R3 - R4 = 4, -#define R4 R4 - R5 = 5, -#define R5 R5 - R6 = 6, -#define R6 R6 - R7 = 7, -#define R7 R7 - P0 = 8, -#define P0 P0 - P1 = 9, -#define P1 P1 - P2 = 10, -#define P2 P2 - P3 = 11, -#define P3 P3 - P4 = 12, -#define P4 P4 - P5 = 13, -#define P5 P5 - USP = 14, -#define USP USP - A0W = 15, -#define A0W A0W - A1W = 16, -#define A1W A1W - A0X = 17, -#define A0X A0X - A1X = 18, -#define A1X A1X - ASTAT = 19, -#define ASTAT ASTAT - RETS = 20, -#define RETS RETS - PC= 21, -#define PC PC - RETX = 22, -#define RETX RETX - FP = 23, -#define FP FP - I0 = 24, -#define I0 I0 - I1 = 25, -#define I1 I1 - I2 = 26, -#define I2 I2 - I3 = 27, -#define I3 I3 - M0 = 28, -#define M0 M0 - M1 = 29, -#define M1 M1 - M2 = 30, -#define M2 M2 - M3 = 31, -#define M3 M3 - L0 = 32, -#define L0 L0 - L1 = 33, -#define L1 L1 - L2 = 34, -#define L2 L2 - L3 = 35, -#define L3 L3 - B_0 = 36, -#define B_0 B_0 - B1 = 37, -#define B1 B1 - B2 = 38, -#define B2 B2 - B3 = 39, -#define B3 B3 - LC0 = 40, -#define LC0 LC0 - LC1 = 41, -#define LC1 LC1 - LT0 = 42, -#define LT0 LT0 - LT1 = 43, -#define LT1 LT1 - LB0 = 44, -#define LB0 LB0 - LB1 = 45, -#define LB1 LB1 - SEQSTAT = 46 -#define SEQSTAT SEQSTAT + REG_R0 = 0, +#define REG_R0 REG_R0 + REG_R1 = 1, +#define REG_R1 REG_R1 + REG_R2 = 2, +#define REG_R2 REG_R2 + REG_R3 = 3, +#define REG_R3 REG_R3 + REG_R4 = 4, +#define REG_R4 REG_R4 + REG_R5 = 5, +#define REG_R5 REG_R5 + REG_R6 = 6, +#define REG_R6 REG_R6 + REG_R7 = 7, +#define REG_R7 REG_R7 + REG_P0 = 8, +#define REG_P0 REG_P0 + REG_P1 = 9, +#define REG_P1 REG_P1 + REG_P2 = 10, +#define REG_P2 REG_P2 + REG_P3 = 11, +#define REG_P3 REG_P3 + REG_P4 = 12, +#define REG_P4 REG_P4 + REG_P5 = 13, +#define REG_P5 REG_P5 + REG_USP = 14, +#define REG_USP REG_USP + REG_A0W = 15, +#define REG_A0W REG_A0W + REG_A1W = 16, +#define REG_A1W REG_A1W + REG_A0X = 17, +#define REG_A0X REG_A0X + REG_A1X = 18, +#define REG_A1X REG_A1X + REG_ASTAT = 19, +#define REG_ASTAT REG_ASTAT + REG_RETS = 20, +#define REG_RETS REG_RETS + REG_PC= 21, +#define REG_PC REG_PC + REG_RETX = 22, +#define REG_RETX REG_RETX + REG_FP = 23, +#define REG_FP REG_FP + REG_I0 = 24, +#define REG_I0 REG_I0 + REG_I1 = 25, +#define REG_I1 REG_I1 + REG_I2 = 26, +#define REG_I2 REG_I2 + REG_I3 = 27, +#define REG_I3 REG_I3 + REG_M0 = 28, +#define REG_M0 REG_M0 + REG_M1 = 29, +#define REG_M1 REG_M1 + REG_M2 = 30, +#define REG_M2 REG_M2 + REG_M3 = 31, +#define REG_M3 REG_M3 + REG_L0 = 32, +#define REG_L0 REG_L0 + REG_L1 = 33, +#define REG_L1 REG_L1 + REG_L2 = 34, +#define REG_L2 REG_L2 + REG_L3 = 35, +#define REG_L3 REG_L3 + REG_B_0 = 36, +#define REG_B_0 REG_B_0 + REG_B1 = 37, +#define REG_B1 REG_B1 + REG_B2 = 38, +#define REG_B2 REG_B2 + REG_B3 = 39, +#define REG_B3 REG_B3 + REG_LC0 = 40, +#define REG_LC0 REG_LC0 + REG_LC1 = 41, +#define REG_LC1 REG_LC1 + REG_LT0 = 42, +#define REG_LT0 REG_LT0 + REG_LT1 = 43, +#define REG_LT1 REG_LT1 + REG_LB0 = 44, +#define REG_LB0 REG_LB0 + REG_LB1 = 45, +#define REG_LB1 REG_LB1 + REG_SEQSTAT = 46 +#define REG_SEQSTAT REG_SEQSTAT }; /* Context to describe whole processor state. */ From vapier at uclibc.org Wed Jan 10 09:46:20 2007 From: vapier at uclibc.org (vapier at uclibc.org) Date: Wed, 10 Jan 2007 09:46:20 -0800 (PST) Subject: svn commit: trunk/uClibc/libc/inet/rpc Message-ID: <20070110174620.B3CE148566@busybox.net> Author: vapier Date: 2007-01-10 09:46:19 -0800 (Wed, 10 Jan 2007) New Revision: 17226 Log: need to keep __check_rhosts_file exported for proper rhost control Modified: trunk/uClibc/libc/inet/rpc/rcmd.c Changeset: Modified: trunk/uClibc/libc/inet/rpc/rcmd.c =================================================================== --- trunk/uClibc/libc/inet/rpc/rcmd.c 2007-01-10 17:02:16 UTC (rev 17225) +++ trunk/uClibc/libc/inet/rpc/rcmd.c 2007-01-10 17:46:19 UTC (rev 17226) @@ -368,7 +368,11 @@ } libc_hidden_def(rresvport) -static int __check_rhosts_file = 1; +/* This needs to be exported ... while it is not a documented interface + * for rcp related apps, it's a required one that is used to control the + * rhost behavior. Legacy sucks. + */ +int __check_rhosts_file = 1; int ruserok(rhost, superuser, ruser, luser) const char *rhost, *ruser, *luser; From jocke at uclibc.org Wed Jan 10 14:03:35 2007 From: jocke at uclibc.org (jocke at uclibc.org) Date: Wed, 10 Jan 2007 14:03:35 -0800 (PST) Subject: svn commit: trunk/uClibc/libc: misc misc/internals sysdeps/linux/common etc... Message-ID: <20070110220335.4C0E14857C@busybox.net> Author: jocke Date: 2007-01-10 14:03:34 -0800 (Wed, 10 Jan 2007) New Revision: 17232 Log: Fix SEGV for static builds in exit() path. Leave the now obsolete libc/misc/pthread dir in for now. Modified: trunk/uClibc/libc/misc/Makefile.in trunk/uClibc/libc/misc/internals/__uClibc_main.c trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_mutex.h Changeset: Modified: trunk/uClibc/libc/misc/Makefile.in =================================================================== --- trunk/uClibc/libc/misc/Makefile.in 2007-01-10 20:57:03 UTC (rev 17231) +++ trunk/uClibc/libc/misc/Makefile.in 2007-01-10 22:03:34 UTC (rev 17232) @@ -20,7 +20,6 @@ include $(top_srcdir)libc/misc/internals/Makefile.in include $(top_srcdir)libc/misc/locale/Makefile.in include $(top_srcdir)libc/misc/mntent/Makefile.in -include $(top_srcdir)libc/misc/pthread/Makefile.in include $(top_srcdir)libc/misc/regex/Makefile.in include $(top_srcdir)libc/misc/search/Makefile.in include $(top_srcdir)libc/misc/statfs/Makefile.in Modified: trunk/uClibc/libc/misc/internals/__uClibc_main.c =================================================================== --- trunk/uClibc/libc/misc/internals/__uClibc_main.c 2007-01-10 20:57:03 UTC (rev 17231) +++ trunk/uClibc/libc/misc/internals/__uClibc_main.c 2007-01-10 22:03:34 UTC (rev 17232) @@ -399,3 +399,29 @@ */ exit(main(argc, argv, __environ)); } + +#ifdef __UCLIBC_HAS_THREADS__ +/* Weaks for internal library use only. + * + * We need to define weaks here to cover all the pthread functions that + * libc itself will use so that we aren't forced to link libc against + * libpthread. This file is only used in libc.a and since we have + * weaks here, they will be automatically overridden by libpthread.a + * if it gets linked in. + */ + +static int __pthread_return_0 (void) { return 0; } +static void __pthread_return_void (void) { return; } + +weak_alias (__pthread_return_0, __pthread_mutex_init) +weak_alias (__pthread_return_0, __pthread_mutex_lock) +weak_alias (__pthread_return_0, __pthread_mutex_trylock) +weak_alias (__pthread_return_0, __pthread_mutex_unlock) +weak_alias (__pthread_return_void, _pthread_cleanup_push_defer) +weak_alias (__pthread_return_void, _pthread_cleanup_pop_restore) +# ifdef __UCLIBC_HAS_THREADS_NATIVE__ +weak_alias (__pthread_return_0, __pthread_mutexattr_init) +weak_alias (__pthread_return_0, __pthread_mutexattr_destroy) +weak_alias (__pthread_return_0, __pthread_mutexattr_settype) +# endif +#endif Modified: trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_mutex.h =================================================================== --- trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_mutex.h 2007-01-10 20:57:03 UTC (rev 17231) +++ trunk/uClibc/libc/sysdeps/linux/common/bits/uClibc_mutex.h 2007-01-10 22:03:34 UTC (rev 17232) @@ -36,7 +36,7 @@ struct _pthread_cleanup_buffer __infunc_pthread_cleanup_buffer; \ if (C) { \ _pthread_cleanup_push_defer(&__infunc_pthread_cleanup_buffer, \ - __uclibc_mutex_unlock, \ + (void (*) (void *))__pthread_mutex_unlock, \ &(M)); \ __pthread_mutex_lock(&(M)); \ } \ From vapier at uclibc.org Wed Jan 10 14:18:40 2007 From: vapier at uclibc.org (vapier at uclibc.org) Date: Wed, 10 Jan 2007 14:18:40 -0800 (PST) Subject: svn commit: trunk/uClibc/libc/sysdeps/linux/bfin Message-ID: <20070110221840.7AA7548582@busybox.net> Author: vapier Date: 2007-01-10 14:18:39 -0800 (Wed, 10 Jan 2007) New Revision: 17233 Log: merge from blackfin.uclinux.org: Adjust crt1.S so that __uClibc_main is called properly Modified: trunk/uClibc/libc/sysdeps/linux/bfin/crt1.S Changeset: Modified: trunk/uClibc/libc/sysdeps/linux/bfin/crt1.S =================================================================== --- trunk/uClibc/libc/sysdeps/linux/bfin/crt1.S 2007-01-10 22:03:34 UTC (rev 17232) +++ trunk/uClibc/libc/sysdeps/linux/bfin/crt1.S 2007-01-10 22:18:39 UTC (rev 17233) @@ -83,6 +83,7 @@ L3 = 0; #ifdef __ID_SHARED_LIB__ + /* We know we have a local copy, so we can avoid the GOT. */ CALL ___shared_flat_add_library; #endif /* Load register R1 (argc) from the stack to its final resting place */ @@ -92,24 +93,15 @@ /* Copy argv pointer into R2 -- which its final resting place */ R2 = P0; -/* Skip to the end of argv and put a pointer to the environment in - [SP + 12] */ - R3 = R1; - R3 <<= 2; - R3 += 4; - R3 = R2 + R3; + SP += -28; - P2 = SP; - SP += -32; - [SP + 12] = R3; - #ifndef __BFIN_FDPIC__ R7 = 0; #endif /* Pass highest stack pointer to the app. */ - [SP + 28] = P2; + [SP + 24] = P2; /* Store the pointer to ld.so's fini that we got in P1. */ - [SP + 24] = R7; + [SP + 20] = R7; /* Ok, now run uClibc's main() -- shouldn't return */ #if defined L_crt1 && defined __UCLIBC_CTOR_DTOR__ @@ -123,8 +115,9 @@ R3.H = __init; R3.L = __init; #endif - [SP+16] = R3; + [SP+12] = R3; + #ifdef __BFIN_FDPIC__ R3 = [P3 + __fini at FUNCDESC_GOT17M4]; #elif defined __ID_SHARED_LIB__ @@ -133,11 +126,11 @@ R3.H = __fini; R3.L = __fini; #endif - [SP+20] = R3; + [SP+16] = R3; #else /* no ctor/dtor handling */ R3 = 0; + [SP + 12] = R3; [SP + 16] = R3; - [SP + 20] = R3; #endif #ifdef __BFIN_FDPIC__ @@ -162,8 +155,8 @@ .type lib_main, at function lib_main: RETS = [SP++]; - P0 = [P5 + ___shared_flat_add_library at GOT]; - JUMP (P0); + /* We know we have a local copy, so we can avoid the GOT. */ + JUMP.L ___shared_flat_add_library; .hidden _current_shared_library_p5_offset_ #endif From jocke at uclibc.org Thu Jan 11 14:39:14 2007 From: jocke at uclibc.org (jocke at uclibc.org) Date: Thu, 11 Jan 2007 14:39:14 -0800 (PST) Subject: svn commit: trunk/uClibc: libc/misc/internals libpthread/linuxthre etc... Message-ID: <20070111223914.2D4BA4856C@busybox.net> Author: jocke Date: 2007-01-11 14:39:13 -0800 (Thu, 11 Jan 2007) New Revision: 17253 Log: Peter Mazinger pointed out that my last commit was faulty. This should fix it. Modified: trunk/uClibc/libc/misc/internals/__uClibc_main.c trunk/uClibc/libpthread/linuxthreads.old/forward.c trunk/uClibc/libpthread/linuxthreads.old/pthread.c trunk/uClibc/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h trunk/uClibc/libpthread/linuxthreads/forward.c trunk/uClibc/libpthread/linuxthreads/pthread.c trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h Changeset: Modified: trunk/uClibc/libc/misc/internals/__uClibc_main.c =================================================================== --- trunk/uClibc/libc/misc/internals/__uClibc_main.c 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libc/misc/internals/__uClibc_main.c 2007-01-11 22:39:13 UTC (rev 17253) @@ -400,7 +400,7 @@ exit(main(argc, argv, __environ)); } -#ifdef __UCLIBC_HAS_THREADS__ +#if defined(__UCLIBC_HAS_THREADS__) && !defined(SHARED) /* Weaks for internal library use only. * * We need to define weaks here to cover all the pthread functions that Modified: trunk/uClibc/libpthread/linuxthreads/forward.c =================================================================== --- trunk/uClibc/libpthread/linuxthreads/forward.c 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libpthread/linuxthreads/forward.c 2007-01-11 22:39:13 UTC (rev 17253) @@ -17,11 +17,13 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include +#include #include -#include /* psm: keep this before internals.h */ libc_hidden_proto(exit) + #include "internals.h" /* Pointers to the libc functions. */ @@ -129,7 +131,6 @@ FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) strong_alias(pthread_mutex_unlock, __pthread_mutex_unlock) - FORWARD2 (pthread_self, pthread_t, (void), (), return 0) @@ -139,5 +140,7 @@ FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) FORWARD2 (_pthread_cleanup_push, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return) +FORWARD2 (_pthread_cleanup_push_defer, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return) FORWARD2 (_pthread_cleanup_pop, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return) +FORWARD2 (_pthread_cleanup_pop_restore, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return) Modified: trunk/uClibc/libpthread/linuxthreads/pthread.c =================================================================== --- trunk/uClibc/libpthread/linuxthreads/pthread.c 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libpthread/linuxthreads/pthread.c 2007-01-11 22:39:13 UTC (rev 17253) @@ -278,7 +278,9 @@ .ptr_pthread_sigwait = __pthread_sigwait, .ptr_pthread_raise = __pthread_raise, .ptr__pthread_cleanup_push = _pthread_cleanup_push, - .ptr__pthread_cleanup_pop = _pthread_cleanup_pop + .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer, + .ptr__pthread_cleanup_pop = _pthread_cleanup_pop, + .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore, }; #ifdef SHARED # define ptr_pthread_functions &__pthread_functions Modified: trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h =================================================================== --- trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libpthread/linuxthreads/sysdeps/pthread/pthread-functions.h 2007-01-11 22:39:13 UTC (rev 17253) @@ -84,9 +84,12 @@ const struct timespec *); void (*ptr__pthread_cleanup_push) (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg); - + void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer * buffer, + void (*routine)(void *), void * arg); void (*ptr__pthread_cleanup_pop) (struct _pthread_cleanup_buffer * buffer, int execute); + void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer * buffer, + int execute); }; /* Variable in libc.so. */ Modified: trunk/uClibc/libpthread/linuxthreads.old/forward.c =================================================================== --- trunk/uClibc/libpthread/linuxthreads.old/forward.c 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libpthread/linuxthreads.old/forward.c 2007-01-11 22:39:13 UTC (rev 17253) @@ -140,5 +140,7 @@ FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) FORWARD2 (_pthread_cleanup_push, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return) +FORWARD2 (_pthread_cleanup_push_defer, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return) FORWARD2 (_pthread_cleanup_pop, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return) +FORWARD2 (_pthread_cleanup_pop_restore, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return) Modified: trunk/uClibc/libpthread/linuxthreads.old/pthread.c =================================================================== --- trunk/uClibc/libpthread/linuxthreads.old/pthread.c 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libpthread/linuxthreads.old/pthread.c 2007-01-11 22:39:13 UTC (rev 17253) @@ -336,6 +336,8 @@ .ptr__pthread_cleanup_push = _pthread_cleanup_push, .ptr__pthread_cleanup_pop = _pthread_cleanup_pop */ + .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer, + .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore, }; #ifdef SHARED # define ptr_pthread_functions &__pthread_functions Modified: trunk/uClibc/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h =================================================================== --- trunk/uClibc/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h 2007-01-11 17:20:00 UTC (rev 17252) +++ trunk/uClibc/libpthread/linuxthreads.old/sysdeps/pthread/pthread-functions.h 2007-01-11 22:39:13 UTC (rev 17253) @@ -84,9 +84,12 @@ const struct timespec *); void (*ptr__pthread_cleanup_push) (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg); - + void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer * buffer, + void (*routine)(void *), void * arg); void (*ptr__pthread_cleanup_pop) (struct _pthread_cleanup_buffer * buffer, int execute); + void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer * buffer, + int execute); }; /* Variable in libc.so. */ From jocke at uclibc.org Thu Jan 11 14:52:25 2007 From: jocke at uclibc.org (jocke at uclibc.org) Date: Thu, 11 Jan 2007 14:52:25 -0800 (PST) Subject: svn commit: trunk/uClibc Message-ID: <20070111225225.6FC8C4857E@busybox.net> Author: jocke Date: 2007-01-11 14:52:23 -0800 (Thu, 11 Jan 2007) New Revision: 17255 Log: I fixed that item long ago. Modified: trunk/uClibc/TODO Changeset: Modified: trunk/uClibc/TODO =================================================================== --- trunk/uClibc/TODO 2007-01-11 22:39:25 UTC (rev 17254) +++ trunk/uClibc/TODO 2007-01-11 22:52:23 UTC (rev 17255) @@ -86,14 +86,6 @@ *) Cleanup/scrub all the Makefile copyright junk *) Fix dlopen, for both static and dynamic cases, and make it fully comply with SuSv3 - *) From the the ELF spec "...All shared object initializations happen - before the executable file gains control. ... Before the initialization - code for any object A is called, the initialization code for any other - objects that object A depends on are called. For these purposes, an object - A depends on another object B, if B appears in Ads list of needed objects - (recorded in the DT_NEEDED entries of the dynamic structure). The order of - initialization for circular dependencies is undefined." uClibc's shared - lib loader should be fixed to run ctors in the specified order. TODO list for AFTER the uClibc 1.0.0 release: From bugs at busybox.net Thu Jan 11 16:11:17 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Thu, 11 Jan 2007 16:11:17 -0800 Subject: [buildroot 0001156]: coldfire (no mmu) support Message-ID: <0c0b7a86e3a881168ad032c273d18621@bugs.uclibc.org> The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1156 ====================================================================== Reported By: kendallc Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1156 Category: Architecture Specific Reproducibility: N/A Severity: feature Priority: normal Status: assigned ====================================================================== Date Submitted: 01-11-2007 16:11 PST Last Modified: 01-11-2007 16:11 PST ====================================================================== Summary: coldfire (no mmu) support Description: Here is a patch to add the ability for Buildroot to target the Coldfire processor, which lacks an MMU and FPU. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-11-07 16:11 kendallc New Issue 01-11-07 16:11 kendallc Status new => assigned 01-11-07 16:11 kendallc Assigned To => uClibc 01-11-07 16:11 kendallc File Added: buildroot.patch ====================================================================== From bugs at busybox.net Thu Jan 11 16:18:43 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Thu, 11 Jan 2007 16:18:43 -0800 Subject: [buildroot 0001156]: coldfire (no mmu) support Message-ID: <28d21f8e0275ba136010e0b780577c2b@bugs.uclibc.org> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=1156 ====================================================================== Reported By: kendallc Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1156 Category: Architecture Specific Reproducibility: N/A Severity: feature Priority: normal Status: assigned ====================================================================== Date Submitted: 01-11-2007 16:11 PST Last Modified: 01-11-2007 16:18 PST ====================================================================== Summary: coldfire (no mmu) support Description: Here is a patch to add the ability for Buildroot to target the Coldfire processor, which lacks an MMU and FPU. ====================================================================== ---------------------------------------------------------------------- kendallc - 01-11-07 16:18 ---------------------------------------------------------------------- '-m52000' should be '-m5200', sorry. Also, you might be able to use '-m5206e' or '-m5307' to better support you coldfire version. I use '-m5206e' for the MCF5272. Issue History Date Modified Username Field Change ====================================================================== 01-11-07 16:11 kendallc New Issue 01-11-07 16:11 kendallc Status new => assigned 01-11-07 16:11 kendallc Assigned To => uClibc 01-11-07 16:11 kendallc File Added: buildroot.patch 01-11-07 16:12 kendallc File Added: buildroot_coldfire.config 01-11-07 16:12 kendallc File Added: buildroot_powerpc.config 01-11-07 16:13 kendallc File Added: busybox.config 01-11-07 16:18 kendallc Note Added: 0001984 ====================================================================== From bugs at busybox.net Sun Jan 14 05:52:56 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Sun, 14 Jan 2007 05:52:56 -0800 Subject: [buildroot 0000841]: Python package - wrong include and library path Message-ID: <324575178d238735e4d5ebd89b27fb11@busybox.net> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=841 ====================================================================== Reported By: nemo Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 841 Category: Other Reproducibility: always Severity: minor Priority: normal Status: feedback ====================================================================== Date Submitted: 04-18-2006 10:23 PDT Last Modified: 01-14-2007 05:52 PST ====================================================================== Summary: Python package - wrong include and library path Description: setup.py uses standard host's include and library path for modules building. This patch forces usage of staging_dir. This second patch removes *.pyc installed in target_dir: --- package/python/python.mk (revisione 118) +++ package/python/python.mk (revisione 119) @@ -70,7 +70,7 @@ rm $(TARGET_DIR)/usr/bin/python?.? rm $(TARGET_DIR)/usr/bin/idle rm $(TARGET_DIR)/usr/bin/pydoc - find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -o -name '*.pyo' -exec rm {} \; + find $(TARGET_DIR)/usr/lib/ \( -name '*.pyc' -o -name '*.pyo' \) -exec rm {} \; rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \ $(TARGET_DIR)/usr/lib/python*/test ====================================================================== ---------------------------------------------------------------------- bernhardf - 12-22-06 05:48 ---------------------------------------------------------------------- Unfortunately that 2.patch doesn't apply. nemo, please retry with current buildroot (currently around revision 17053). If this doesn't work for you then please provice a unified diff (diff -u) that addresses this issue. If i don't hear anything back from you i shall close this report as fixed. thanks, ---------------------------------------------------------------------- nemo - 01-14-07 05:52 ---------------------------------------------------------------------- br2.python-libsearch.03.patch should apply (revision 17302) Issue History Date Modified Username Field Change ====================================================================== 04-18-06 10:23 nemo New Issue 04-18-06 10:23 nemo Status new => assigned 04-18-06 10:23 nemo Assigned To => uClibc 04-18-06 10:23 nemo File Added: python-libsearch.patch 12-22-06 05:23 bernhardf File Added: br2.python-libsearch.02.patch 12-22-06 05:48 bernhardf Note Added: 0001924 12-22-06 05:48 bernhardf Status assigned => feedback 01-14-07 05:48 nemo File Added: br2.python-libsearch.03.patch 01-14-07 05:52 nemo Note Added: 0001988 ====================================================================== From bugs at busybox.net Sun Jan 14 15:10:40 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Sun, 14 Jan 2007 15:10:40 -0800 Subject: [buildroot 0001162]: libglib12 not built as shared library Message-ID: <12dadf0357349b9bec2c99378dd164ec@bugs.uclibc.org> The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1162 ====================================================================== Reported By: Doc SoLo Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1162 Category: Other Reproducibility: always Severity: minor Priority: normal Status: assigned ====================================================================== Date Submitted: 01-14-2007 15:10 PST Last Modified: 01-14-2007 15:10 PST ====================================================================== Summary: libglib12 not built as shared library Description: Revision 17287 by andersen introduced some errors for me. libglib12 is only built as a static library for some reason. I switched back to libglib12.mk before 17287 and it is build shared as intended. I fixed a few other minor glitches, see the patch below. This is just what I use from buildroot, so it's probably not complete. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-14-07 15:10 Doc SoLo New Issue 01-14-07 15:10 Doc SoLo Status new => assigned 01-14-07 15:10 Doc SoLo Assigned To => uClibc 01-14-07 15:10 Doc SoLo File Added: 17287_small_fixes.patch ====================================================================== From bugs at busybox.net Sun Jan 14 18:03:51 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Sun, 14 Jan 2007 18:03:51 -0800 Subject: [uClibc 0001163]: SIGSEGV for static linked binaries Message-ID: <72f9a19966edda656e59c33989ff922e@bugs.uclibc.org> The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1163 ====================================================================== Reported By: netvipe Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1163 Category: Stdio Reproducibility: always Severity: crash Priority: normal Status: assigned ====================================================================== Date Submitted: 01-14-2007 18:03 PST Last Modified: 01-14-2007 18:03 PST ====================================================================== Summary: SIGSEGV for static linked binaries Description: uclibc seems to have a problem for static linked binaries. i try to build a static linked version of busybox for initramfs. the compiler shows no major problems. an additional test always produces a SIGSEGV for all kind of busybox binaries. after testing version 1.3.1, 1.2.2.1, 1.1.2, 1.1.0 and the snapshot from today, i've decided to make a simple test with something like "hello.c" and the result is the same. build_i686/staging_dir/bin/i686-linux-uclibc-gcc hello.c -o hello -static execve("./hello", ["./hello"], [/* 13 vars */]) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 write(1, "Hello World\n", 12Hello World ) = 12 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV (core dumped) +++ are there any known bugs for this version of uclibc? regards florian ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-14-07 18:03 netvipe New Issue 01-14-07 18:03 netvipe Status new => assigned 01-14-07 18:03 netvipe Assigned To => uClibc ====================================================================== From bugs at busybox.net Mon Jan 15 00:08:51 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 15 Jan 2007 00:08:51 -0800 Subject: [uClibc 0001163]: SIGSEGV for static linked binaries Message-ID: <73c67940144daa23ec94e51136e7c6da@busybox.net> A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=1163 ====================================================================== Reported By: netvipe Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1163 Category: Stdio Reproducibility: always Severity: crash Priority: normal Status: assigned ====================================================================== Date Submitted: 01-14-2007 18:03 PST Last Modified: 01-15-2007 00:08 PST ====================================================================== Summary: SIGSEGV for static linked binaries Description: uclibc seems to have a problem for static linked binaries. i try to build a static linked version of busybox for initramfs. the compiler shows no major problems. an additional test always produces a SIGSEGV for all kind of busybox binaries. after testing version 1.3.1, 1.2.2.1, 1.1.2, 1.1.0 and the snapshot from today, i've decided to make a simple test with something like "hello.c" and the result is the same. build_i686/staging_dir/bin/i686-linux-uclibc-gcc hello.c -o hello -static execve("./hello", ["./hello"], [/* 13 vars */]) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 write(1, "Hello World\n", 12Hello World ) = 12 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV (core dumped) +++ are there any known bugs for this version of uclibc? regards florian ====================================================================== ---------------------------------------------------------------------- jocke - 01-15-07 00:08 ---------------------------------------------------------------------- This was corrected the 11/1, SVN rev 17253 Issue History Date Modified Username Field Change ====================================================================== 01-14-07 18:03 netvipe New Issue 01-14-07 18:03 netvipe Status new => assigned 01-14-07 18:03 netvipe Assigned To => uClibc 01-15-07 00:08 jocke Note Added: 0001989 ====================================================================== From bugs at busybox.net Mon Jan 15 00:09:58 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Mon, 15 Jan 2007 00:09:58 -0800 Subject: [uClibc 0001163]: SIGSEGV for static linked binaries Message-ID: The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=1163 ====================================================================== Reported By: netvipe Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1163 Category: Stdio Reproducibility: always Severity: crash Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 01-14-2007 18:03 PST Last Modified: 01-15-2007 00:09 PST ====================================================================== Summary: SIGSEGV for static linked binaries Description: uclibc seems to have a problem for static linked binaries. i try to build a static linked version of busybox for initramfs. the compiler shows no major problems. an additional test always produces a SIGSEGV for all kind of busybox binaries. after testing version 1.3.1, 1.2.2.1, 1.1.2, 1.1.0 and the snapshot from today, i've decided to make a simple test with something like "hello.c" and the result is the same. build_i686/staging_dir/bin/i686-linux-uclibc-gcc hello.c -o hello -static execve("./hello", ["./hello"], [/* 13 vars */]) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 write(1, "Hello World\n", 12Hello World ) = 12 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV (core dumped) +++ are there any known bugs for this version of uclibc? regards florian ====================================================================== ---------------------------------------------------------------------- jocke - 01-15-07 00:08 ---------------------------------------------------------------------- This was corrected the 11/1, SVN rev 17253 ---------------------------------------------------------------------- jocke - 01-15-07 00:09 ---------------------------------------------------------------------- Closing as this is fixed as of SVN 17253 Issue History Date Modified Username Field Change ====================================================================== 01-14-07 18:03 netvipe New Issue 01-14-07 18:03 netvipe Status new => assigned 01-14-07 18:03 netvipe Assigned To => uClibc 01-15-07 00:08 jocke Note Added: 0001989 01-15-07 00:09 jocke Status assigned => closed 01-15-07 00:09 jocke Note Added: 0001990 ====================================================================== From bugs at busybox.net Wed Jan 17 22:32:38 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Wed, 17 Jan 2007 22:32:38 -0800 Subject: [uClibc 0001164]: libgfortran build crashes with uClibc and gcc 4.2 Message-ID: <275c41b7b8f8329c32c2d58367238337@busybox.net> The following issue has been SUBMITTED. ====================================================================== http://busybox.net/bugs/view.php?id=1164 ====================================================================== Reported By: linux_junkie Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1164 Category: Shared Library Support Reproducibility: always Severity: crash Priority: normal Status: assigned ====================================================================== Date Submitted: 01-17-2007 22:32 PST Last Modified: 01-17-2007 22:32 PST ====================================================================== Summary: libgfortran build crashes with uClibc and gcc 4.2 Description: When building with buildroot and the latest gcc snapshot the build crashes: Checking multilib configuration for libgfortran... make[3]: Entering directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final/i686-linux-uclibc/libgfortran' /bin/sh /root/buildroot/toolchain_build_i686/gcc-4.2-20070110/libgfortran/mk-kinds-h.sh '/root/buildroot/toolchain_build_i686/gcc-4.2-final/./gcc/gfortran -B/root/buildroot/toolchain_build_i686/gcc-4.2-final/./gcc/ -B/root/buildroot/build_i686/staging_dir/i686-linux-uclibc/bin/ -B/root/buildroot/build_i686/staging_dir/i686-linux-uclibc/lib/ -isystem /root/buildroot/build_i686/staging_dir/i686-linux-uclibc/include -isystem /root/buildroot/build_i686/staging_dir/i686-linux-uclibc/sys-include -I . -Wall -fno-repack-arrays -fno-underscoring ' > kinds.h || rm kinds.h /root/buildroot/toolchain_build_i686/gcc-4.2-20070110/libgfortran/mk-kinds-h.sh: Unknown type grep '^#' < kinds.h > kinds.inc /bin/sh: kinds.h: No such file or directory make[3]: *** [kinds.inc] Error 1 make[3]: Leaving directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final/i686-linux-uclibc/libgfortran' make[2]: *** [all-target-libgfortran] Error 2 make[2]: Leaving directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final' make[1]: *** [all] Error 2 make[1]: Leaving directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final' make: *** [/root/buildroot/toolchain_build_i686/gcc-4.2-final/.compiled] Error 2 [root at builder buildroot]# Is this a problem with libgfortran?? I found this thread: http://gcc.gnu.org/ml/gcc-bugs/2006-03/msg00484.html and it seems to indicates this is a problem with GMP and MPFR?? Is this so and how do I fix it? ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 01-17-07 22:32 linux_junkie New Issue 01-17-07 22:32 linux_junkie Status new => assigned 01-17-07 22:32 linux_junkie Assigned To => uClibc ====================================================================== From bugs at busybox.net Thu Jan 18 14:10:10 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Thu, 18 Jan 2007 14:10:10 -0800 Subject: [uClibc 0001164]: libgfortran build crashes with uClibc and gcc 4.2 Message-ID: A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=1164 ====================================================================== Reported By: linux_junkie Assigned To: uClibc ====================================================================== Project: uClibc Issue ID: 1164 Category: Shared Library Support Reproducibility: always Severity: crash Priority: normal Status: assigned ====================================================================== Date Submitted: 01-17-2007 22:32 PST Last Modified: 01-18-2007 14:10 PST ====================================================================== Summary: libgfortran build crashes with uClibc and gcc 4.2 Description: When building with buildroot and the latest gcc snapshot the build crashes: Checking multilib configuration for libgfortran... make[3]: Entering directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final/i686-linux-uclibc/libgfortran' /bin/sh /root/buildroot/toolchain_build_i686/gcc-4.2-20070110/libgfortran/mk-kinds-h.sh '/root/buildroot/toolchain_build_i686/gcc-4.2-final/./gcc/gfortran -B/root/buildroot/toolchain_build_i686/gcc-4.2-final/./gcc/ -B/root/buildroot/build_i686/staging_dir/i686-linux-uclibc/bin/ -B/root/buildroot/build_i686/staging_dir/i686-linux-uclibc/lib/ -isystem /root/buildroot/build_i686/staging_dir/i686-linux-uclibc/include -isystem /root/buildroot/build_i686/staging_dir/i686-linux-uclibc/sys-include -I . -Wall -fno-repack-arrays -fno-underscoring ' > kinds.h || rm kinds.h /root/buildroot/toolchain_build_i686/gcc-4.2-20070110/libgfortran/mk-kinds-h.sh: Unknown type grep '^#' < kinds.h > kinds.inc /bin/sh: kinds.h: No such file or directory make[3]: *** [kinds.inc] Error 1 make[3]: Leaving directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final/i686-linux-uclibc/libgfortran' make[2]: *** [all-target-libgfortran] Error 2 make[2]: Leaving directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final' make[1]: *** [all] Error 2 make[1]: Leaving directory `/root/buildroot/toolchain_build_i686/gcc-4.2-final' make: *** [/root/buildroot/toolchain_build_i686/gcc-4.2-final/.compiled] Error 2 [root at builder buildroot]# Is this a problem with libgfortran?? I found this thread: http://gcc.gnu.org/ml/gcc-bugs/2006-03/msg00484.html and it seems to indicates this is a problem with GMP and MPFR?? Is this so and how do I fix it? ====================================================================== ---------------------------------------------------------------------- bernhardf - 01-18-07 14:10 ---------------------------------------------------------------------- I'm aware of this glitch. Give me some time to get my gmp/mpfr build-changes merged back. Meanwhile, please do these two things: 1) Attach you toplevel .config and the uclibc.config you use, specify what compiler/binutils/gmp/mpfr version you have on your build-host. 2) Use the most current daily snapshot (or a current checkout of the gcc-4_2-branch) of gcc-4.2 and let me know what *exact* version you were experiencing this error with. As a quick stopper, read the thread at: http://gcc.gnu.org/ml/fortran/2006-10/msg00136.html and eventually apply that dirty hack to bail out if the kinds were mis-detected. Tracking down an exact setup on where we can reproduce this failure is very much appreciated! Thanks and kind regards, Issue History Date Modified Username Field Change ====================================================================== 01-17-07 22:32 linux_junkie New Issue 01-17-07 22:32 linux_junkie Status new => assigned 01-17-07 22:32 linux_junkie Assigned To => uClibc 01-17-07 22:35 linux_junkie Issue Monitored: linux_junkie 01-18-07 14:10 bernhardf Note Added: 0001992 ====================================================================== From bugs at busybox.net Fri Jan 19 07:58:02 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Fri, 19 Jan 2007 07:58:02 -0800 Subject: [buildroot 0001151]: flex package fails Message-ID: <445b774e0543483b46e375b9a4de6f42@bugs.uclibc.org> The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=1151 ====================================================================== Reported By: Steven_Carr Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1151 Category: Architecture Specific Reproducibility: always Severity: major Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 01-09-2007 22:43 PST Last Modified: 01-19-2007 07:58 PST ====================================================================== Summary: flex package fails Description: flex_2.5.4a.orig.tar.gz is no longer available from http://ftp.debian.org/debian/pool/main/f/flex need to uplevel to flex_2.5.33.orig.tar.gz ====================================================================== ---------------------------------------------------------------------- bernhardf - 01-19-07 07:58 ---------------------------------------------------------------------- I fixed this proper in svn r17381. Issue History Date Modified Username Field Change ====================================================================== 01-09-07 22:43 Steven_Carr New Issue 01-09-07 22:43 Steven_Carr Status new => assigned 01-09-07 22:43 Steven_Carr Assigned To => uClibc 01-19-07 07:58 bernhardf Status assigned => closed 01-19-07 07:58 bernhardf Note Added: 0001993 ====================================================================== From bugs at busybox.net Fri Jan 19 08:00:57 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Fri, 19 Jan 2007 08:00:57 -0800 Subject: [buildroot 0000237]: using crosstool build glibc based toolchain to build userland program Message-ID: <53f255f26644ca2a439e389a10950ed0@bugs.uclibc.org> The following issue requires your FEEDBACK. ====================================================================== http://busybox.net/bugs/view.php?id=237 ====================================================================== Reported By: shuhao_chang Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 237 Category: New Features Reproducibility: N/A Severity: feature Priority: normal Status: feedback ====================================================================== Date Submitted: 04-26-2005 02:08 PDT Last Modified: 01-19-2007 08:00 PST ====================================================================== Summary: using crosstool build glibc based toolchain to build userland program Description: buildroot builds uclibc-based toolchain and uses it to build userland programs. here is a patch to enable buildroot to use crosstool build glibc-based toolchain. you have to set correct crosstool toolchain location and prefix to use this feature. ====================================================================== ---------------------------------------------------------------------- sjhill - 06-18-05 21:32 ---------------------------------------------------------------------- Uploaded a new and cleaned up patch allowing a crosstool glibc toolchains to compile a buildroot. It has been tested with glibc-based toolchains using GCC-3.4.2 and GCC-4.1.0 for MIPS. ---------------------------------------------------------------------- sjhill - 08-25-05 19:59 ---------------------------------------------------------------------- Uploaded an updated patch against latest buildroot to allow crosstool glibc toolchains to compile a buildroot. This patch fixes bugs related to duplicated 'sed' targets and fixes the 'fakeroot' build error. ---------------------------------------------------------------------- sjhill - 10-08-05 22:22 ---------------------------------------------------------------------- Uploaded new patch for buildroot compilation with external toolchain. Applies and works cleanly with 2005-10-08 checkout of buildroot. ---------------------------------------------------------------------- chickenandporn - 10-18-05 01:59 ---------------------------------------------------------------------- sjhill, your recent 20051008 is a "diff -cr" not a "diff -Ncr", so the toolchains/crosstool directory is missing. I wanted to add an alternative... y'see, you can build your own, or define the information for a crosstool-built one, or "wellknown" -- "Use a toolchain that is rather universally known"... an example would be the ARM Linux "toolchain-bin-MM-DD-YY.tar.bz2" that can be drawn from ftp://ftp.arm.linux.org.uk/ ... just like downloading source files, I have a partially-working config that downloads a toolchain, knows where to unpack it, and sets the paths properly. Interested? I can submit a patch if you'll update *you* patch here to include toolchain/crosstool/{Config.in,glibc.mk} :) ---------------------------------------------------------------------- chickenandporn - 10-18-05 05:22 ---------------------------------------------------------------------- did a "diff -Ncr" because I cannot get svn to show added files (diff -N). Also, this patch is polluted with my "wellknown" mod I have been babying... changes in toolchain/wellknown, please consider if it breaks your world. Applies cleanly to revision 11883, today's (China time) top-of-tree ---------------------------------------------------------------------- chickenandporn - 10-27-05 13:43 ---------------------------------------------------------------------- revision 11932 (20051027) applies the 20051018 patch cleanly, FYI :) ---------------------------------------------------------------------- thaddeus - 01-02-06 14:39 ---------------------------------------------------------------------- Uploaded a new version of the patch I put together against SVN on 12/29/2005. It was only quickly tested against gcc 3.4.3 for x86. YMMV ---------------------------------------------------------------------- bcook - 05-22-06 19:35 ---------------------------------------------------------------------- Hmm, I just build a root filesystem using an armv5teb-xscale toolchain. Seems like my toolchain needs to be fixed up somehow, but I'm not sure which thing to fix. Anyway, the build executables got linked to use the path on my host system to search for libraries. In other words, I had to do: ln -sf /usr/lib/cross-tools/arv5teb-xscale/lib /lib in the resulting root filesystem to fix what looks like perhaps a gcc specs issue. Any idea how to retarget the cross-compiled stuff to /lib ? - Brent ---------------------------------------------------------------------- bcook - 05-23-06 14:57 ---------------------------------------------------------------------- Hmm, nevermind - my *link directive in the gcc specs was pointing to the wrong path for dynamic-linker. Fixed, and everything is peachy-keen! ---------------------------------------------------------------------- bernhardf - 01-19-07 08:00 ---------------------------------------------------------------------- Can you please respin that patch against current trunk? Thanks alot in advance. Issue History Date Modified Username Field Change ====================================================================== 04-26-05 02:08 shuhao_chang New Issue 04-26-05 02:08 shuhao_chang File Added: br2_crosstool.patch 06-18-05 21:23 sjhill File Added: br2-crosstool-build-20050618.patch 06-18-05 21:32 sjhill Note Added: 0000248 08-25-05 19:58 sjhill File Added: br2-crosstool-build-20050825.patch 08-25-05 19:59 sjhill Note Added: 0000434 10-08-05 22:21 sjhill File Added: br2-crosstool-build-20051008.patch 10-08-05 22:22 sjhill Note Added: 0000615 10-18-05 01:59 chickenandporn Note Added: 0000634 10-18-05 05:19 chickenandporn File Added: br2-crosstool-build-20051018.patch 10-18-05 05:22 chickenandporn Note Added: 0000635 10-25-05 03:53 danieljlaird Issue Monitored: danieljlaird 10-27-05 13:43 chickenandporn Note Added: 0000644 12-02-05 10:04 rhunger Issue Monitored: rhunger 12-29-05 17:42 thaddeus Issue Monitored: thaddeus 01-02-06 14:37 thaddeus File Added: br2-crosstool-build-20051229.patch 01-02-06 14:39 thaddeus Note Added: 0000839 05-22-06 19:35 bcook Note Added: 0001373 05-22-06 19:35 bcook Note Added: 0001374 05-22-06 19:35 bcook Note Deleted: 0001373 05-23-06 14:57 bcook Note Added: 0001376 01-19-07 08:00 bernhardf Note Added: 0001994 01-19-07 08:00 bernhardf Status assigned => feedback ====================================================================== From bugs at busybox.net Fri Jan 19 08:06:42 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Fri, 19 Jan 2007 08:06:42 -0800 Subject: [buildroot 0000563]: strace fails to build under buildroot due to dependency on stropts.h Message-ID: <561974ed043f5abf81b986edbaa2b076@bugs.uclibc.org> The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=563 ====================================================================== Reported By: crafterm Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 563 Category: Other Reproducibility: always Severity: minor Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 11-25-2005 10:39 PST Last Modified: 01-19-2007 08:06 PST ====================================================================== Summary: strace fails to build under buildroot due to dependency on stropts.h Description: Hi All, Hope all is going well. The current version of strace fails to build under buildroot due to a dependency on stropts.h. See attached build log. Cheers, Marcus ====================================================================== ---------------------------------------------------------------------- vapier - 11-25-05 11:33 ---------------------------------------------------------------------- that header is only included if configure detects that it is available post the config.log file as an attachment ---------------------------------------------------------------------- crafterm - 11-29-05 02:50 ---------------------------------------------------------------------- Ok, uploaded, from inspecting the config.log: configure:10316: checking sys/stropts.h usability configure:10328: /home/crafterm/workspace/build/buildroot/build_i386/staging_dir/bin/i386-linux-uclibc-gcc -c -Os -pipe conftest.c >&5 conftest.c:103:25: sys/stropts.h: No such file or directory configure:10334: $? = 1 ..... configure:10356: result: no configure:10360: checking sys/stropts.h presence configure:10370: gcc -E conftest.c configure:10376: $? = 0 configure:10396: result: yes configure:10409: WARNING: sys/stropts.h: present but cannot be compiled configure:10411: WARNING: sys/stropts.h: check for missing prerequisite headers? configure:10413: WARNING: sys/stropts.h: see the Autoconf documentation configure:10415: WARNING: sys/stropts.h: section "Present But Cannot Be Compiled" configure:10417: WARNING: sys/stropts.h: proceeding with the preprocessor's result configure:10419: WARNING: sys/stropts.h: in the future, the compiler will take precedence configure:10431: checking for sys/stropts.h configure:10438: result: yes To me it looks like the first check is using the uclibc toolchain compiler, which fails as it should since stropts.h doesn't exist in any of the toolchain include dirs - however the second check seems to be using my systems gcc compiler which succeeds - causing the compilation error a bit later on Is this expected behaviour as far as autoconf goes in buildroot? Is there something else we can define to ensure the correct c compiler is used? Cheers, Marcus ---------------------------------------------------------------------- crafterm - 11-29-05 03:14 ---------------------------------------------------------------------- On further inspection, it looks like the setting for the preprocessor isn't being overridden and it left as: CPP='gcc -E' Should buildroot be overriding the preprocessor and pointing it to the buildroot toolchain compiler perhaps? Just a thought. ---------------------------------------------------------------------- crafterm - 11-29-05 03:25 ---------------------------------------------------------------------- Ok, think i've been able to fix it. With the attached patch, CPP is defined to be the toolchain C compiler/preprocessor, and this lets everything compile as expected. What do you guys think? Is the patch ok? Cheers, Marcus ---------------------------------------------------------------------- bernhardf - 01-19-07 08:06 ---------------------------------------------------------------------- We have updated to strace-4.5.14 meanwhile, so closing. Issue History Date Modified Username Field Change ====================================================================== 11-25-05 10:39 crafterm New Issue 11-25-05 10:39 crafterm Status new => assigned 11-25-05 10:39 crafterm Assigned To => uClibc 11-25-05 10:39 crafterm File Added: buildlog.txt 11-25-05 11:33 vapier Note Added: 0000698 11-29-05 02:46 crafterm File Added: config.log 11-29-05 02:50 crafterm Note Added: 0000708 11-29-05 03:14 crafterm Note Added: 0000709 11-29-05 03:23 crafterm File Added: package.makefile.patch 11-29-05 03:25 crafterm Note Added: 0000710 01-19-07 08:06 bernhardf Status assigned => closed 01-19-07 08:06 bernhardf Note Added: 0001995 ====================================================================== From bugs at busybox.net Fri Jan 19 08:11:33 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Fri, 19 Jan 2007 08:11:33 -0800 Subject: [buildroot 0001138]: Adds the ability to select dmidecode as part of the buildroot system. Message-ID: <960e0139917ec623ad92aade7ea58f17@bugs.uclibc.org> The following issue requires your FEEDBACK. ====================================================================== http://busybox.net/bugs/view.php?id=1138 ====================================================================== Reported By: decandia50 Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 1138 Category: New Features Reproducibility: always Severity: feature Priority: normal Status: feedback ====================================================================== Date Submitted: 12-29-2006 12:23 PST Last Modified: 01-19-2007 08:11 PST ====================================================================== Summary: Adds the ability to select dmidecode as part of the buildroot system. Description: I have a yet to be released open source project that requires dmidecode to be loaded on the system and pull the serial number of the machine out of the BIOS. Since I'm using busybox/buildroot to create my boot image, I thought it would be nice to give back to the community ;) So I've added the ability to wget dmidecode and compile it in to the current buildroot. Also thanks for the documentation, that made it all possible. FYI: I'm not sure how well this will cross compile, but it's fine on x86 architectures. ====================================================================== ---------------------------------------------------------------------- bernhardf - 01-19-07 08:11 ---------------------------------------------------------------------- Can you please send a complete $ svn diff package/ > ~/buildroot.add-dmidecode.patch to the list? TIA, Issue History Date Modified Username Field Change ====================================================================== 12-29-06 12:23 decandia50 New Issue 12-29-06 12:23 decandia50 Status new => assigned 12-29-06 12:23 decandia50 Assigned To => uClibc 12-29-06 12:23 decandia50 File Added: dmidecode-patch.tgz 01-19-07 08:11 bernhardf Note Added: 0001996 01-19-07 08:11 bernhardf Status assigned => feedback ====================================================================== From bugs at busybox.net Fri Jan 19 08:15:19 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Fri, 19 Jan 2007 08:15:19 -0800 Subject: [buildroot 0000779]: Error during compilation of uclibc and libstdc++ related to large file support Message-ID: <9ea126f11a5073721c299d5353c6615c@bugs.uclibc.org> The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=779 ====================================================================== Reported By: blurgk Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 779 Category: Architecture Specific Reproducibility: always Severity: major Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 03-08-2006 06:51 PST Last Modified: 01-19-2007 08:15 PST ====================================================================== Summary: Error during compilation of uclibc and libstdc++ related to large file support Description: I am trying to compile a cross-compilation toolchain for an ARM system under cygwin, without large file support (buildroot config file attached), but I get several errors. First during the compilation of uclibc: error: 'lseek64' undeclared here (not in a function) in toolchain_build_arm_nofpu/uClibc/libc/sysdeps/linux/common/pread_write.c Then several times during the compilation of libstdc++, because of _GLIBCXX_USE_LFS incorrectly set: toolchain_buid_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3/include/ext/stdio_sync_filebuf.h:170: error: there are no arguments to 'fseek64' that depend on a template parameter, so a declaration of 'fseeko64' must be available and /usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/gcc/xgcc -shared-libgcc -B/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/gcc/ -nostdinc++ -L/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3/src -L/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3/src/.libs -B/usr/src/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/bin/ -B/usr/src/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/lib/ -isystem /usr/src/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/include -isystem /usr/src/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/sys-include -I/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3/include/arm-linux-uclibc -I/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3/include -I/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5/libstdc++-v3/libsupc++ -g -Os -g -Os -fno-implicit-templates -Wall -W -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c basic_file.cc -fPIC -DPIC -o .libs/basic_file.o basic_file.cc: In member function `std::__basic_file* std::__basic_file::open(const char*, std::_Ios_Openmode, int)': basic_file.cc:232: error: `fopen64' was not declared in this scope basic_file.cc:232: warning: unused variable 'fopen64' basic_file.cc: In member function `std::streamoff std::__basic_file::seekoff(std::streamoff, std::_Ios_Seekdir)': basic_file.cc:316: error: `lseek64' was not declared in this scope basic_file.cc:316: warning: unused variable 'lseek64' make[4]: *** [basic_file.lo] Error 1 make[4]: Leaving directory `/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3' make[2]: *** [all] Error 2 make[2]: Leaving directory `/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/arm-linux-uclibc/libstdc++-v3' make[1]: *** [all-target-libstdc++-v3] Error 2 make[1]: Leaving directory `/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final' make: *** [/usr/src/buildroot/toolchain_build_arm_nofpu/gcc-3.4.5-final/.compiled] Error 2 ====================================================================== ---------------------------------------------------------------------- bernhardf - 12-28-06 01:08 ---------------------------------------------------------------------- Works for me with the fixes i just installed (revision 17099) for gcc-4.2 on i386. Please try 4.2 and report back. ---------------------------------------------------------------------- bernhardf - 01-19-07 08:15 ---------------------------------------------------------------------- Fixed in gcc-4.2 and gcc-4.3; See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30365 Issue History Date Modified Username Field Change ====================================================================== 03-08-06 06:51 blurgk New Issue 03-08-06 06:51 blurgk Status new => assigned 03-08-06 06:51 blurgk Assigned To => uClibc 03-08-06 06:51 blurgk File Added: .config 05-22-06 11:14 tabgal Issue Monitored: tabgal 12-28-06 01:08 bernhardf Note Added: 0001944 12-28-06 01:08 bernhardf Status assigned => feedback 01-09-07 06:15 stephaneC Issue Monitored: stephaneC 01-19-07 08:15 bernhardf Status feedback => closed 01-19-07 08:15 bernhardf Note Added: 0001997 ====================================================================== From bugs at busybox.net Fri Jan 19 08:18:09 2007 From: bugs at busybox.net (bugs at busybox.net) Date: Fri, 19 Jan 2007 08:18:09 -0800 Subject: [buildroot 0000571]: sysfstools-1.3.0 fails to build at all with Linux 2.6.x headers Message-ID: <6bd145f15747ce72d006b048a84ff265@bugs.uclibc.org> The following issue has been CLOSED ====================================================================== http://busybox.net/bugs/view.php?id=571 ====================================================================== Reported By: lord_apollyon Assigned To: uClibc ====================================================================== Project: buildroot Issue ID: 571 Category: Architecture Specific Reproducibility: always Severity: minor Priority: normal Status: closed Resolution: open Fixed in Version: ====================================================================== Date Submitted: 11-30-2005 04:27 PST Last Modified: 01-19-2007 08:18 PST ====================================================================== Summary: sysfstools-1.3.0 fails to build at all with Linux 2.6.x headers Description: It looks like there's some kind of libtool or build system problem with sysfsutils. The following error is observed when attempting to build sysfsutils-1.3.0 with gcc 3.4.4 or 3.3.5 against kernel 2.6.12 headers: make -j1 -C /rootnew/buildroot/build_i686/sysfsutils-1.3.0 make[1]: Entering directory `/rootnew/buildroot/build_i686/sysfsutils-1.3.0' make all-recursive make[2]: Entering directory `/rootnew/buildroot/build_i686/sysfsutils-1.3.0' Making all in lib make[3]: Entering directory `/rootnew/buildroot/build_i686/sysfsutils-1.3.0/lib' source='sysfs_utils.c' object='libsysfs_la-sysfs_utils.lo' libtool=yes \ depfile='.deps/libsysfs_la-sysfs_utils.Plo' tmpdepfile='.deps/libsysfs_la-sysfs_utils.TPlo' \ depmode=gcc3 /bin/sh ../depcomp \ /bin/sh ../libtool --mode=compile /rootnew/buildroot/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -W -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -pipe -O2 -march=pentium3 -mcpu=pentium3 -c -o libsysfs_la-sysfs_utils.lo `test -f 'sysfs_utils.c' || echo './'`sysfs_utils.c rm -f .libs/libsysfs_la-sysfs_utils.lo /rootnew/buildroot/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -W -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -pipe -O2 -march=pentium3 -mcpu=pentium3 -c sysfs_utils.c -MT libsysfs_la-sysfs_utils.lo -MD -MP -MF .deps/libsysfs_la-sysfs_utils.TPlo -fPIC -DPIC `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. mv -f libsysfs_la-sysfs_utils.o .libs/libsysfs_la-sysfs_utils.lo mv: cannot stat `libsysfs_la-sysfs_utils.o': No such file or directory make[3]: *** [libsysfs_la-sysfs_utils.lo] Error 1 make[3]: Leaving directory `/rootnew/buildroot/build_i686/sysfsutils-1.3.0/lib' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/rootnew/buildroot/build_i686/sysfsutils-1.3.0' make[1]: *** [all] Error 2 make[1]: Leaving directory `/rootnew/buildroot/build_i686/sysfsutils-1.3.0' make: *** [/rootnew/buildroot/build_i686/sysfsutils-1.3.0/.compiled] Error 2 ====================================================================== ---------------------------------------------------------------------- bernhardf - 12-22-06 04:37 ---------------------------------------------------------------------- Works for me with linux-2.6.19-1 headers and gcc-4.2. Please update and retry and let us know if this is fixed. thanks, ---------------------------------------------------------------------- bernhardf - 01-19-07 08:18 ---------------------------------------------------------------------- Works with sysfsutils-2.1.0 and gcc >= 4.2, linux >= 2.6.19.2 headers, closing. Issue History Date Modified Username Field Change ====================================================================== 11-30-05 04:27 lord_apollyon New Issue 11-30-05 04:27 lord_apollyon Status new => assigned 11-30-05 04:27 lord_apollyon Assigned To => uClibc 12-22-06 04:37 bernhardf