[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#766840: marked as done ([armhf] Illegal assembler code generated with -O2)



Your message dated Tue, 20 Sep 2016 22:15:11 +0000
with message-id <[🔎] E1bmTJn-0005QY-0D@franck.debian.org>
and subject line Bug#838316: Removed package(s) from unstable
has caused the Debian Bug report #766840,
regarding [armhf] Illegal assembler code generated with -O2
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 this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
766840: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=766840
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gcc
Version: 4:4.9.1-5

Hi,

If trying to compile the attached file on armhf with

gcc -O2 -c reg.c

one gets 

/tmp/ccuv9e3N.s: Assembler messages:
/tmp/ccuv9e3N.s:106: Error: registers may not be the same -- `str r2,[r2],#4'

A workaround is to use either -fno-expensive-optimizations or -fno-schedule-insns.

gcc -O1 -fexpensive-optimizations -fschedule-insns -c reg.c

shows the same error.

The file is a shortened version from one of my packages (starlink-ast) which always compiled nicely on armhf, started to fail with gcc-4.9.1 [1]. With gcc-4.8.4, the compilation succeeded [2]:

gcc -DHAVE_CONFIG_H -I. -D_FORTIFY_SOURCE=2 -I/usr/include/star -DTHREAD_SAFE -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c region.c  -fPIC -DPIC -o .libs/libstarlink_ast_la-region.o
/tmp/ccJsRMs3.s: Assembler messages:
/tmp/ccJsRMs3.s:21403: Warning: base register written back, and overlaps one of transfer registers
/tmp/ccJsRMs3.s:28133: Error: registers may not be the same -- `str r3,[r3],#4'
/tmp/ccJsRMs3.s:28971: Warning: base register written back, and overlaps one of transfer registers

The warnings are on similar places as above, just with the floats replaced by doubles or long doubles.

Best regards

Ole

[1] https://buildd.debian.org/status/fetch.php?pkg=starlink-ast&arch=armhf&ver=8.0.2%2Bdfsg-1&stamp=1414223014
[2] https://buildd.debian.org/status/fetch.php?pkg=starlink-ast&arch=armhf&ver=8.0.0%2Bdfsg-2&stamp=1400237749

#include <stdlib.h>

void *astFree();
void *astMalloc();
int astOK = 1;

int MaskF( int inside, int ndim, 
	   const int lbnd[], const int ubnd[], 
	   float in[], float val) { 

   void *used_region;
   float *c, *d, *tmp_out;
   double *lbndgd, *ubndgd;
   int *lbndg, *ubndg, idim, ipix, nax, nin, nout, npix, npixg, result = 0; 
   if ( !astOK ) return result; 
   lbndg = astMalloc( sizeof( int )*(size_t) ndim ); 
   ubndg = astMalloc( sizeof( int )*(size_t) ndim ); 
   lbndgd = astMalloc( sizeof( double )*(size_t) ndim ); 
   ubndgd = astMalloc( sizeof( double )*(size_t) ndim ); 
   npix = 1; 
   npixg = 1; 
   for ( idim = 0; idim < ndim; idim++ ) { 
     npix *= ubnd[ idim ] - lbnd[ idim ]; 
     npixg *= ubndg[ idim ] - lbndg[ idim ]; 
   } 
   if( npixg <= 0 ){ 
     if( astGetNegated( used_region )) { 
       c = in; 
       for( ipix = 0; ipix < npix; ipix++ ) *(c++) = val; 
     } 
   } else if( npixg > 0) { 
     if(astGetNegated( used_region )) { 
       tmp_out = astMalloc( sizeof( float )*(size_t) npix ); 
       if( tmp_out ) { 
	 c = tmp_out; 
       } 
     } 
     result += astResampleF( used_region, lbnd, ubnd, 
			     ubnd, lbndg, ubndg); 
   }
   return result; 
}

--- End Message ---
--- Begin Message ---
Version: 4.9.4-2+rm

Dear submitter,

as the package gcc-4.9 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/838316

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Chris Lamb (the ftpmaster behind the curtain)

--- End Message ---

Reply to: