NSBitmap+Icns.m on Sparc

2008-11-05 Thread Fred Kiefer
Riccardo is having trouble with the new icns loading code on sparc
architecture. I think this is caused by pointers into the data structure
not being properly aligned for this processor, but as I am no expert in
this area it would be great if somebody could have a look before I start
experimenting around.

The problem he gets is:
Program received signal SIGBUS, Bus error.
0x0fec17e4 in icns_import_family_data (size=33658, bytes=0x9a6e000 icns,
iconFamily=0xf7fca660) at NSBitmapImageRep+ICNS.m:270
270   while ((data  end)  element-elementSize)


(gdb) p data
$1 = (icns_byte_t *) 0xdce6372 t8mk
(gdb) p end
$2 = (icns_byte_t *) 0xdcea37a 
(gdb) p element-elementSize
$3 = 16392


As it works fine for him when using the libicns library I would not rank
it as a very urgent problem. Still it is interesting to understand how
they are doing it. (OK, we could just have a look at the code, now that
we know it is LGPL)

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: ./test-gnustep: i686-pc-linux-gnu-logs.tar.gz: No such file or directory

2008-11-05 Thread Adam Fedor
It is sort of dumb script.  First it removes any old logs that might  
be there, then if (and only if) there is a new log, it moves it to the  
proper location. If ftp complains that there is no log file, that  
means that nothing bad happenned during the compile.



On Nov 4, 2008, at 4:37 PM, T.J. Yang wrote:


Trying to add my fedora 9 box to be a gnustep test box.
But why the script delete the i686-pc-linux-gnu-logs.tar.gz and then  
complain the file is not found ?



tj
snip
 openapp MyApplication.app

+ gsexitstatus=0
+ echo '--- Archive Results ---'
--- Archive Results ---
+ rm -f i686-pc-linux-gnu-results.txt
+ rm -f i686-pc-linux-gnu-logs.tar.gz
++ date
+ GSDATE='Tue Nov  4 17:08:45 CST 2008'
+ gs_success=no
+ '[' 0 '!=' 0 ']'
+ echo 'Success Compile i686-pc-linux-gnu Tue Nov  4 17:08:45 CST  
2008'

+ gs_success=yes
+ echo '--- Upload Results ---'
--- Upload Results ---
+ ftp -n ftp.gnustep.org
local: i686-pc-linux-gnu-logs.tar.gz: No such file or directory
+ DIRS='make base gui back'
+ '[' no = yes -a -d /home/tjyang/gnustep-ibm ']'
[EMAIL PROTECTED] scripts]$
[

___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSBitmap+Icns.m on Sparc

2008-11-05 Thread David Ayers
Am Mittwoch, den 05.11.2008, 08:45 +0100 schrieb Fred Kiefer:
 Riccardo is having trouble with the new icns loading code on sparc
 architecture. I think this is caused by pointers into the data structure
 not being properly aligned for this processor, but as I am no expert in
 this area it would be great if somebody could have a look before I start
 experimenting around.
 
 The problem he gets is:
 Program received signal SIGBUS, Bus error.
 0x0fec17e4 in icns_import_family_data (size=33658, bytes=0x9a6e000 icns,
 iconFamily=0xf7fca660) at NSBitmapImageRep+ICNS.m:270
 270   while ((data  end)  element-elementSize)
 
 
 (gdb) p data
 $1 = (icns_byte_t *) 0xdce6372 t8mk
 (gdb) p end
 $2 = (icns_byte_t *) 0xdcea37a 
 (gdb) p element-elementSize
 $3 = 16392

Given the definitions of the types:

typedef unsigned char icns_byte_t;
typedef unsigned long icns_size_t;
typedef struct _icns_type_t {
  char c[4];
} icns_type_t;

typedef struct _icns_element_t {
  icns_type_t elementType;
  icns_size_t elementSize;
} icns_element_t;

typedef struct _icns_family_t {
  icns_type_t resourceType;
  icns_size_t resourceSize;
  icns_element_t elements[1];
} icns_family_t;

I would assume the straight forward fix (if indeed it is an alignment
issue is to add padding to icns_element_t to the sizeof(long) boundry
which is 8 byte on most 64 bit archs.  I.e.

typedef struct _icns_element_t {
  icns_type_t elementType;
  char padding[4];  
  icns_size_t elementSize;
} icns_element_t;

But yeah... maybe we should just look at their code...

Cheers,
David




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev