[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Two problems...
From: |
Steve Watt |
Subject: |
Two problems... |
Date: |
Fri, 22 Aug 2003 13:28:24 -0700 |
I tried to submit this via glibcbug, but got a weird failure, looks like
maybe address@hidden is broke?
Weird failure quoth:
} X-Failed-Recipients: address@hidden
} From: Mail Delivery System <address@hidden>
} To: address@hidden
} Subject: Mail delivery failed: returning message to sender
} Message-Id: <address@hidden>
} Date: Fri, 22 Aug 2003 13:38:03 -0400
} X-OriginalArrivalTime: 22 Aug 2003 17:40:57.0799 (UTC)
FILETIME=[8B6C4570:01C368D4]
}
} This message was created automatically by mail delivery software.
}
} A message that you sent could not be delivered to one or more of its
} recipients. This is a permanent error. The following address(es) failed:
}
} pipe to | /usr/lib/gnats/queue-pr -q
} generated by address@hidden
} local delivery failed
And my real problem, with proposed fix, looking for some review.
Subject: recent CVS ARM build broken (by recent change, it seems)
>Submitter-Id: net
>Originator: Steve Watt
>Organization:
Steve Watt KD6GGD PP-ASEL-IA Email at home: address@hidden
Chelsio Communications http://www.chelsio.com/ work: address@hidden
510 N. Pastoria Ave Voice: +1 408 962 3627
Sunnyvale, CA, USA, 94085 Fax: +1 408 730 2580
>
>Confidential: no
>Synopsis: PSEUDO_ERRVAL not defined in any ARM sysdep headers
>Severity: critical
>Priority: high
>Category: libc
>Class: sw-bug
>Release: libc-2.3.2
>Environment:
Cross compiling from Linux (RH 7.1) for ARM Linux
Host type: arm-unknown-linux-gnu
Addons: linuxthreads
Build CFLAGS: -g -O2
Build CC: arm-linux-gcc -mbig-endian
Compiler version: 3.4 20030821 (experimental)
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: yes
Build omitfp: no
Build bounded: no
Build static-nss: no
>Description:
Build produced the following:
[ snip ]
.././scripts/mkinstalldirs /users/steve/linux/tools/build.glibc/posix
(echo '#include <sysdep.h>'; \
echo 'PSEUDO_ERRVAL (posix_madvise, madvise, 3)'; \
echo ' ret_ERRVAL'; \
echo 'PSEUDO_END_ERRVAL(posix_madvise)'; \
echo 'libc_hidden_def (posix_madvise)'; \
) | arm-linux-gcc -mbig-endian -c -I../include -I.
-I/users/steve/linux/tools/build.glibc/posix -I.. -I../libio
-I/users/steve/linux/tools/build.glibc -I../sysdeps/arm/elf
-I../linuxthreads/sysdeps/unix/sysv/linux/arm
-I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread
-I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv
-I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/arm
-I../sysdeps/unix/sysv/linux/arm -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet
-I../sysdeps/unix/sysv -I../sysdeps/unix/arm -I../sysdeps/unix
-I../sysdeps/posix -I../sysdeps/arm/fpu -I../sysdeps/arm
-I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf
-I../sysdeps/generic -nostdinc -isystem
/usr/local/arm-tools/lib/gcc/arm-linux/3.4/include -isystem
/usr/local/arm-tools/arm-linux/include -D_LIBC_REENTRANT -include
../include/lib!
c-symbols.h -DASSEMBLER -x assembler-with-cpp -o
/users/steve/linux/tools/build.glibc/posix/posix_madvise.o -
<stdin>: Assembler messages:
<stdin>:2: Error: bad instruction `pseudo_errval (posix_madvise,madvise,3)'
<stdin>:3: Error: bad instruction `ret_errval'
make[2]: *** [/users/steve/linux/tools/build.glibc/posix/posix_madvise.o] Error
1
make[2]: Leaving directory `/users/steve/gnu-toolchain/glibc/libc/posix'
make[1]: *** [posix/subdir_lib] Error 2
make[1]: Leaving directory `/users/steve/gnu-toolchain/glibc/libc'
make: *** [all] Error 2
I don't see any definition for PSEUDO_ERRVAL in the ARM sysdep headers. It
looks like the posix_madvise definition was changed on 8/15 by drepper,
and jakub filled in most of the remaining platforms, but missed ARM.
>How-To-Repeat:
Check out a current version (22 Aug ~0000Z) of glibc, try to build it
for arm-linux.
>Fix:
Figure out what the correct definition for PSEUDO_ERRVAL is on ARM, and
supply it. ;)
I think it needs to look like so:
Index: sysdep.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/arm/sysdep.h,v
retrieving revision 1.24
diff -u -r1.24 sysdep.h
--- sysdep.h 27 Mar 2003 02:45:49 -0000 1.24
+++ sysdep.h 22 Aug 2003 05:43:03 -0000
@@ -64,6 +64,23 @@
SYSCALL_ERROR_HANDLER
\
END (name)
+#undef PSEUDO_ERRVAL
+#define PSEUDO_ERRVAL(name, syscall_name, args)
\
+ .text; \
+ ENTRY (name);
\
+ DO_CALL (syscall_name, args); \
+ rsb r0, r0, #0
+
+#define PSEUDO_RET_ERRVAL \
+ RETINSTR(mov, pc, lr);
+
+#undef ret_ERRVAL
+#define ret_ERRVAL PSEUDO_RET_ERRVAL
+
+#undef PSEUDO_END_NOERRNO
+#define PSEUDO_END_NOERRNO(name)
\
+ END (name)
+
#undef PSEUDO_NOERRNO
#define PSEUDO_NOERRNO(name, syscall_name, args)
\
.text; \
--
Steve Watt KD6GGD PP-ASEL-IA Email at home: address@hidden
Chelsio Communications http://www.chelsio.com/ work: address@hidden
510 N. Pastoria Ave Voice: +1 408 962 3627
Sunnyvale, CA, USA, 94085 Fax: +1 408 730 2580
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Two problems...,
Steve Watt <=