This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14580] [3.5 Regression] symbol emitted instead of a non_lazy_symbol
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Mar 2004 16:09:45 -0000
- Subject: [Bug target/14580] [3.5 Regression] symbol emitted instead of a non_lazy_symbol
- References: <20040315144015.14580.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-03-15 16:09 -------
Before .combine:
(call_insn 33 32 41 0 (parallel [
(set (reg:SI 3 r3)
(call (mem:SI (reg/v/u/f:SI 118 [ munmap ]) [0 S4 A8])
(const_int 32 [0x20])))
(use (const_int 0 [0x0]))
(clobber (scratch:SI))
]) 388 {*call_value_indirect_nonlocal_sysv} (insn_list 16 (insn_list 31 (insn_list 32
(nil))))
(expr_list:REG_DEAD (reg:SI 4 r4 [ sizet ])
(expr_list:REG_DEAD (reg/v/u/f:SI 118 [ munmap ])
(expr_list:REG_UNUSED (scratch:SI)
(expr_list:REG_UNUSED (reg:SI 3 r3)
(nil)))))
(expr_list (use (reg:SI 4 r4 [ sizet ]))
(expr_list (use (reg:SI 3 r3 [ caddr ]))
(nil))))
After .combine:
(call_insn 33 32 41 0 (parallel [
(set (reg:SI 3 r3)
(call (mem:SI (symbol_ref:SI ("!t__munmap") [flags 0x41] <function_decl
0x6c5600 munmap>) [0 S4 A8])
(const_int 32 [0x20])))
(use (const_int 0 [0x0]))
(clobber (scratch:SI))
]) 389 {*call_value_nonlocal_sysv} (insn_list 32 (insn_list 31 (nil)))
(expr_list:REG_UNUSED (reg:SI 3 r3)
(expr_list:REG_UNUSED (scratch:SI)
(expr_list:REG_DEAD (reg:SI 4 r4 [ sizet ])
(nil))))
(expr_list (use (reg:SI 4 r4 [ sizet ]))
(expr_list (use (reg:SI 3 r3 [ caddr ]))
(nil))))
Since on Darwin extern (library) calls need to go through a stub, this is wrong.
One way of fixing this would be rewrite Darwin's back-end so that the decission about the
stubs only happen at the last moment when compiling aka when writting out the asm
from the RTL.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-03-15 16:09:44
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14580