[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-03 Thread schwab at suse dot de


--- Comment #7 from schwab at suse dot de  2008-12-03 19:48 ---
Fixes the bug for me.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-03 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2008-12-03 17:11 ---
PR37408 got fixed on gcc-4_3-branch only after 4.3.2 release,
you can probably apply both patches to 4.3.2.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-03 Thread pint at tlink dot de


--- Comment #5 from pint at tlink dot de  2008-12-03 17:00 ---
Sorry, I can't try it. The patch cannot be applied to 4.3.2. There is no
set_mem_size there in assign_parm_find_stack_rtl.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-03 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-12-03 12:28 ---
Patch posted.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||12/msg00166.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-03 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-12-03 12:12 ---
I'd say the bug is in assign_parm_find_stack_rtl:

  stack_parm = crtl->args.internal_arg_pointer;
  if (offset_rtx != const0_rtx)
stack_parm = gen_rtx_PLUS (Pmode, stack_parm, offset_rtx);   
  stack_parm = gen_rtx_MEM (data->promoted_mode, stack_parm);

  set_mem_attributes (stack_parm, parm, 1);
  /* set_mem_attributes could set MEM_SIZE to the passed mode's size,
 while promoted mode's size is needed.  */
  if (data->promoted_mode != BLKmode
  && data->promoted_mode != DECL_MODE (parm))
set_mem_size (stack_parm, GEN_INT (GET_MODE_SIZE (data->promoted_mode)));

In addition to setting MEM_SIZE it should also set MEM_OFFSET.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-12-02 20:24:57 |2008-12-03 12:12:26
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-02 Thread schwab at suse dot de


--- Comment #2 from schwab at suse dot de  2008-12-03 00:49 ---
600b9bbf6c9016b24a7c8f1cc1f4385d859f2b46 is first bad commit
commit 600b9bbf6c9016b24a7c8f1cc1f4385d859f2b46
Author: jakub <[EMAIL PROTECTED]>
Date:   Thu Aug 11 21:22:43 2005 +

* dwarf2out.c (add_location_or_const_value_attribute): Prefer
locations gathered by var-tracking in single entry loc_list
over loc_descriptor_from_tree.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/[EMAIL PROTECTED]
138bc75d-0d04-0410-961f-82ee72b054a4

:04 04 c77d309e7ca92270a960f92ed192aa000165ff2c
ef161af933b0fe7541dc9b4a7404e1033144527c M  gcc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-02 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2008-12-03 00:19 ---
Works just fine e.g. on ppc (big-endian as well; had to add a couple of extra
int arguments before the short ones to make them passed on the stack).

Can you reproduce it on any primary/secondary big-endian target (mips, sparc,
hppa, s390), or is it just m68k specific?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367



[Bug debug/38367] [4.1/4.2/4.3/4.4 regression] Wrong debug information for big endian function parameters

2008-12-02 Thread schwab at suse dot de


-- 

schwab at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|m68k-unknown-elf|m68k-*-*
  Known to fail||4.1.3
  Known to work||4.0.4
   Last reconfirmed|-00-00 00:00:00 |2008-12-02 20:24:57
   date||
Summary|Wrong debug information for |[4.1/4.2/4.3/4.4 regression]
   |big endian function |Wrong debug information for
   |parameters  |big endian function
   ||parameters
   Target Milestone|--- |4.3.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38367