Your message dated Thu, 23 Oct 2003 21:19:30 +0200 with message-id <[EMAIL PROTECTED]> and subject line Bug#215913: gcc: arm: preprocessor spuriously adds line breaks when processing assembler code has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database) -------------------------------------- Received: (at submit) by bugs.debian.org; 15 Oct 2003 12:40:19 +0000 >From [EMAIL PROTECTED] Wed Oct 15 07:40:10 2003 Return-path: <[EMAIL PROTECTED]> Received: from dsl-217-199-70-55.berlikomm.net (nomad.mobile.innominate.org) [217.199.70.55] by master.debian.org with smtp (Exim 3.35 1 (Debian)) id 1A9kwk-0006OP-00; Wed, 15 Oct 2003 07:40:10 -0500 Received: (qmail 9369 invoked by uid 507); 15 Oct 2003 12:38:23 -0000 Message-ID: <[EMAIL PROTECTED]> Date: Wed, 15 Oct 2003 14:38:23 +0200 From: Gerrit Pape <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: gcc: arm: preprocessor spuriously adds line breaks when processing assembler code Reply-To: [EMAIL PROTECTED] Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="u3/rZRmxL6MmkK24" Content-Disposition: inline User-Agent: Mutt/1.5.4i Delivered-To: [EMAIL PROTECTED] X-Spam-Status: No, hits=-5.0 required=4.0 tests=HAS_PACKAGE version=2.53-bugs.debian.org_2003_10_13 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.53-bugs.debian.org_2003_10_13 (1.174.2.15-2003-03-30-exp) --u3/rZRmxL6MmkK24 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Package: gcc Severity: important Hi, (sid)[EMAIL PROTECTED]:~/dietlibc-0.23/arm$ gcc -v Reading specs from /usr/lib/gcc-lib/arm-linux/3.3.2/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc arm-linux Thread model: posix gcc version 3.3.2 20031005 (Debian prerelease) The dietlibc_0.23-1 fails to build on arm because of bad preprocessing of assembler code. Here's the relevant part of the build log http://buildd.debian.org/fetch.php?&pkg=dietlibc&ver=0.23-1&arch=arm&stamp=1063449359&file=log&as=raw gcc -I. -Iinclude -pipe -nostdinc -Os -fomit-frame-pointer -fstrict-aliasing -mhard-float -Wall -W -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wredundant-decls -Wno-unused -c arm/clone.S -o bin-arm/clone.o arm/clone.S: Assembler messages: arm/clone.S:20: Error: bad instruction `syscall' arm/clone.S:25: Error: bad instruction `syscall' make[1]: *** [bin-arm/clone.o] Error 1 make[1]: Leaving directory `/build/buildd/dietlibc-0.23' make: *** [build-stamp] Error 2 I attach the clone.S source file, and also the output 'gcc -E clone.S'. The preprocessor adds linebreaks at the word 'syscall', even though it's just a comment, see line 18 and line 24 in clone.S. If there's something wrong with the arm/clone.S source file, please tell me; in my opinion the preprocessor is at fault here. Thanks, Gerrit. --u3/rZRmxL6MmkK24 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="clone.S" #include <errno.h> #include "syscalls.h" .text .weak clone .global __clone @ @ Some slightly tricky stuff here... edit with care :-) @ clone: __clone: movs r12, r0 @ check function pointer cmpne r1, #0 @ if function check for stack pointer moveq r0, #-EINVAL @ if one is not available set errno value beq __unified_syscall @ handle as if error was returned by the syscall stmdb r1!, { r3, r12 } @ store function param (r3) and function ptr (r12) @ into what will become the childs stack. mov r0, r2 @ move flags argument to r0 swi __NR_clone @ call the syscall movs r0, r0 @ set condition codes blt __unified_syscall @ (return code < 0): handle as an error movne pc, lr @ (return code > 0): return to parent mov fp, #0 @ clear the frame pointer adr lr, 1f @ setup return address ldmia sp!, { r0, pc } @ load function param and jump to thread function 1: b _exit @ branch to _exit (PIC safe) --u3/rZRmxL6MmkK24 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="clone.S.preprocessed" # 1 "clone.S" # 1 "<built-in>" # 1 "<command line>" # 1 "clone.S" # 1 "/usr/include/errno.h" 1 3 4 # 29 "/usr/include/errno.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 318 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 319 "/usr/include/features.h" 2 3 4 # 30 "/usr/include/errno.h" 2 3 4 __BEGIN_DECLS # 1 "/usr/include/bits/errno.h" 1 3 4 # 25 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 5 "/usr/include/linux/errno.h" 2 3 4 # 26 "/usr/include/bits/errno.h" 2 3 4 # 37 "/usr/include/errno.h" 2 3 4 # 47 "/usr/include/errno.h" 3 4 extern int errno; # 59 "/usr/include/errno.h" 3 4 __END_DECLS # 3 "clone.S" 2 # 1 "syscalls.h" 1 # 474 "syscalls.h" .macro __syscall_weak name wsym sym typ .text .type \wsym,function .weak \wsym \wsym: .type \sym,function .global \sym \sym: .ifgt \typ mov ip, sp stmfd sp!,{r4, r5, r6} ldmia ip, {r4, r5, r6} .endif swi \name .ifgt \typ b __unified_syscall4 .else b __unified_syscall .endif .endm .macro __syscall name sym typ .text .type \sym,function .global \sym \sym: .ifgt \typ mov ip, sp stmfd sp!,{r4, r5, r6} ldmia ip, {r4, r5, r6} .endif swi \name .ifgt \typ b __unified_syscall4 .else b __unified_syscall .endif .endm # 4 "clone.S" 2 .text .weak clone .global __clone @ @ Some slightly tricky stuff here... edit with care :-) @ clone: __clone: movs r12, r0 @ check function pointer cmpne r1, #0 @ if function check for stack pointer moveq r0, #-22 @ if one is not available set errno value beq __unified_syscall @ handle as if error was returned by the syscall # 20 "clone.S" stmdb r1!, { r3, r12 } @ store function param (r3) and function ptr (r12) @ into what will become the childs stack. mov r0, r2 @ move flags argument to r0 swi (0x900000 +120) @ call the syscall # 25 "clone.S" movs r0, r0 @ set condition codes blt __unified_syscall @ (return code < 0): handle as an error movne pc, lr @ (return code > 0): return to parent mov fp, #0 @ clear the frame pointer adr lr, 1f @ setup return address ldmia sp!, { r0, pc } @ load function param and jump to thread function 1: b _exit @ branch to _exit (PIC safe) --u3/rZRmxL6MmkK24-- --------------------------------------- Received: (at 215913-done) by bugs.debian.org; 23 Oct 2003 19:19:09 +0000 >From [EMAIL PROTECTED] Thu Oct 23 14:19:03 2003 Return-path: <[EMAIL PROTECTED]> Received: from dsl-217-9-56-237.berlikomm.net (woph.mbl.smarden.org) [217.9.56.237] by master.debian.org with smtp (Exim 3.35 1 (Debian)) id 1ACkz6-0003Z5-00; Thu, 23 Oct 2003 14:19:00 -0500 Received: (qmail 10480 invoked by uid 501); 23 Oct 2003 19:19:30 -0000 Message-ID: <[EMAIL PROTECTED]> Date: Thu, 23 Oct 2003 21:19:30 +0200 From: Gerrit Pape <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: Re: Bug#215913: gcc: arm: preprocessor spuriously adds line breaks when processing assembler code References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <[EMAIL PROTECTED]> User-Agent: Mutt/1.4.1i Delivered-To: [EMAIL PROTECTED] X-Spam-Status: No, hits=-5.7 required=4.0 tests=EMAIL_ATTRIBUTION,QUOTED_EMAIL_TEXT version=2.53-bugs.debian.org_2003_10_21 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.53-bugs.debian.org_2003_10_21 (1.174.2.15-2003-03-30-exp) On Wed, Oct 15, 2003 at 03:12:50PM +0200, Falk Hueffner wrote: > Gerrit Pape <[EMAIL PROTECTED]> writes: > > The preprocessor adds linebreaks at the word 'syscall', even though > > it's just a comment, see line 18 and line 24 in clone.S. > > This looks very similar to bug 210482, which should have been fixed. Yes. After asking for a rebuild on the debian-arm list didn't work out, I uploaded a new package. It auto-built fine now with gcc-3.3_1:3.3.2-1. Thanks, Gerrit.