#7790: Add dummy undefined symbols to indicate ways
-------------------------------------+------------------------------------
Reporter: ezyang | Owner: ezyang
Type: task | Status: new
Priority: normal | Milestone: 7.8.1
Component: Compiler | Version:
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by ezyang):
This is a little more subtle: we can't add the undefined symbol at link
step, because we want .o files to have the undefined symbols as well. And
we need it to happen for all native code generation backends; thus, it has
to happen before native code generation.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7790#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#703: all binaries built by ghc have executable stacks
----------------------------+----------------------------------------------
Reporter: duncan | Owner: ezyang
Type: merge | Status: merge
Priority: normal | Milestone: 6.6.1
Component: | Version: 7.6.3
Compiler (NCG) | Keywords:
Resolution: | Architecture: Unknown/Multiple
Operating System: Linux | Difficulty: Moderate (less than a day)
Type of failure: | Blocked By:
None/Unknown | Related Tickets:
Test Case: N/A |
Blocking: |
----------------------------+----------------------------------------------
Changes (by ezyang):
* status: new => merge
Comment:
{{{
commit 08a38628f29df63ac842f4d083efb414f42d7bff
Author: Edward Z. Yang <ezyang(a)mit.edu>
Date: Tue Jul 9 00:01:43 2013 -0700
Disable executable stack for the linker note, fixing #703 (again)
Signed-off-by: Edward Z. Yang <ezyang(a)mit.edu>
}}}
and
{{{
commit 0f31b197f4fba916c12d03c80d7a6c59d2724242
Author: Edward Z. Yang <ezyang(a)mit.edu>
Date: Tue Jul 9 00:54:33 2013 -0700
Add test to check stack is not executable, to prevent #703
regressions.
Signed-off-by: Edward Z. Yang <ezyang(a)mit.edu>
}}}
Uses the 'readelf' binary, which hopefully is available on everyone's
machines.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/703#comment:18>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#703: all binaries built by ghc have executable stacks
----------------------------+----------------------------------------------
Reporter: duncan | Owner: ezyang
Type: merge | Status: new
Priority: normal | Milestone: 6.6.1
Component: | Version: 7.6.3
Compiler (NCG) | Keywords:
Resolution: | Architecture: Unknown/Multiple
Operating System: Linux | Difficulty: Moderate (less than a day)
Type of failure: | Blocked By:
None/Unknown | Related Tickets:
Test Case: N/A |
Blocking: |
----------------------------+----------------------------------------------
Comment (by ezyang):
I haven't committed the patch yet, because I would prefer it if we could
add a test to the testsuite which just checks if the stack is executable
on a simple Haskell binary. Unfortunately, I can't think of a portable way
to do this. When available, execstack is the easiest, but it's definitely
not installed by default on most machines.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/703#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#8033: add AVX register support to llvm calling convention
-------------------------------------+------------------------------------
Reporter: carter | Owner: carter
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by gmainland):
I think the optimal solution would be to have Float and Double arguments
passed in registers on X86_32. Per my comment on
[http://www.haskell.org/pipermail/ghc-devs/2013-July/001648.html ghc-
devs], we want code compiled with the LLVM back-end to be able to inter-
operate with code compiled by the native back-end. Since the native
codegen passes all Float and Double parameters on the stack, we would need
to change the behavior of the native codegen too---it's not enough to
change the LLVM calling convention.
I don't think this would be all that much work. If we really care about
32-bit performance, it's the right thing to do.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8033#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler