home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / gnu / gcc / bug / 3149 < prev    next >
Encoding:
Text File  |  1993-01-08  |  1.8 KB  |  91 lines

  1. Newsgroups: gnu.gcc.bug
  2. Path: sparky!uunet!paladin.american.edu!howland.reston.ans.net!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ircam.FR!Joseph.FRancis
  3. From: Joseph.FRancis@ircam.FR (Joseph Francis)
  4. Subject: semiserious Bug in gcc-2.X for i860 target
  5. Message-ID: <1993Jan8.182314.20787@ircam.fr>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: IRCAM, Paris (France)
  8. Distribution: gnu
  9. Date: Fri, 8 Jan 1993 18:23:14 GMT
  10. Approved: bug-gcc@prep.ai.mit.edu
  11. Lines: 78
  12.  
  13. The following code:
  14.  
  15. :::
  16.  
  17. #define MAXARG 15
  18. void nullfn();
  19.  
  20. static char *a = "test";
  21. static double b[MAXARG];
  22.  
  23. foo()
  24. {
  25.   nullfn( b[0]);
  26. }
  27.  
  28. :::
  29. compiles to
  30. :::
  31.     .file    "m_mess.c"
  32. gcc2_compiled.:
  33. .text
  34. .LC0:
  35.     .ascii "test\0"
  36. .data
  37.     .align 4
  38. _a:
  39.     .long .LC0
  40. .text
  41.     .align 8
  42.     .align 4
  43.     .long    .ep._foo-_foo+0xc8000000
  44. .globl _foo
  45. _foo:
  46.     addu -16,sp,sp
  47.     st.l fp,0(sp)
  48.     addu 0,sp,fp
  49.     st.l r15,8(fp)
  50.     st.l r1,4(fp)
  51. .ep._foo:
  52.     shl r0,r28,r15
  53.     shl r0,sp,r30
  54.     orh ha%_b,r0,r31
  55.     fld.d l%_b(r31),f8
  56.     call _nullfn
  57.     nop
  58. .L1:
  59.     ld.l 8(fp),r15
  60.     adds 16,fp,r31
  61.     ld.l 4(fp),r1
  62.     ld.l 0(fp),fp
  63.     bri r1
  64.     mov r31,sp
  65. .data
  66.     .align 4
  67. _b:
  68.     .set .,.+128
  69.  
  70. ;;;
  71.  
  72. this will produce the following error by gas-1.38 when compiled:
  73.  
  74. test.c:unknown: 16-bit immediate 8-byte alignment error: 0x00000054
  75.  
  76. My configuration is:
  77. host=m68k-next-bsd target=i860-unknown-sysv3 build=m68k-next-bsd
  78. gcc-2.2.2, 2.3.1 (same problem, both systems, and probably for 2.3.3 also)
  79.  
  80. The problem is of course that the double needs to be 8-byte aligned,
  81. and gcc isn't doing that. If anyone has seen this, can they notify
  82. me of a fix before I delve into the compiler? It would be a great
  83. help. Definitely a naughty bug, but can be gotten around.
  84.  
  85.  
  86.  
  87. -- 
  88. | Le Jojo: Fresh 'n' Clean, speaking out to the way you want to live
  89. | today; American - All American; doing, a bit so, and even more so.
  90.  
  91.