Re: [commit: ghc] master: rts linker: Introduce MachOTypes (8ed29b5)

2017-03-27 Thread Ben Gamari
Moritz Angermann  writes:

> Hi Gabor,
>
> thanks! And sorry for causing trouble.  I’ll look into the MachO
> case.
>
Thanks for handling this Gabor and Moritz!

Cheers,

- Ben



signature.asc
Description: PGP signature
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: [commit: ghc] master: rts linker: Introduce MachOTypes (8ed29b5)

2017-03-27 Thread Gabor Greif
This commit 8ed29b50376856018dfbbcbd6d728c69af0c9f29 introduced a
compilation failure with gcc4.4 (my gcc). The typedef-name
`SectionFormatInfo` is redefined.

Here is the reason:
http://stackoverflow.com/questions/6526322/why-redefinition-of-typedef-error-with-gcc-4-3-but-not-gcc-4-6

I have a fix in testing, will commit shortly.

Cheers,

Gabor

On 3/27/17, g...@git.haskell.org  wrote:
> Repository : ssh://g...@git.haskell.org/ghc
>
> On branch  : master
> Link   :
> http://ghc.haskell.org/trac/ghc/changeset/8ed29b50376856018dfbbcbd6d728c69af0c9f29/ghc
>
>>---
>
> commit 8ed29b50376856018dfbbcbd6d728c69af0c9f29
> Author: Moritz Angermann 
> Date:   Tue Mar 21 10:59:49 2017 -0400
>
> rts linker: Introduce MachOTypes
>
> This diff introduces MachOTypes, to reduce the need to typing `struct`
> all the time.  It also coaleces the 64 and non 64 structs. It also adds
> additional fiedls to the object code structure for macho, which makes
> working with macho object code much simpler and requires less passing
> around of variabls or address recomputation for the header, symbol
> table, etc...
>
> Furthermore this diff introduces a type for a linked list of stubs.
>
> I had to move the #ifdef from the bottom of the file up, to be able to
> extend the object code structure conditional on the use of the macho
> file format.
>
> This is just one of the pieces for the rts linker
> support for ios (aarch64-macho)
>
> ---
>
> The following diagram and legend tries to explain the dependencies a
> bit:
> ```
>   .- D3240
>   v
> D3255 <- D3252 <- D3251 <- This
>   ^
>   '- D3238
> ```
>
> - In D3238 we started allowing preloading object code with mmap
>   in iOS, where we can't have r+w+x.
> - In D3239 we introduced a richer extension of the object code
>   data type to make working with mach-o files easier.
> - In D3240 we set the stage to allow loading archives (.a) on iOS
> - In D3251 we added init and deinit functions to populate and
>   depopulate the enriched object code data structure for mach-o
>   files.
> - In D3252 we refactored most of the MachO.c file to use the
>   new types and data structure.
> - in D3255 we finally introduce the aarch64-mach-o linker.
>
> Reviewers: austin, erikd, simonmar, rwbarton, bgamari
>
> Subscribers: rwbarton, thomie, ryantrinkle
>
> Differential Revision: https://phabricator.haskell.org/D3239
>
>
>>---
>
> 8ed29b50376856018dfbbcbd6d728c69af0c9f29
>  rts/Linker.c|   6 +++
>  rts/LinkerInternals.h   |  28 +-
>  rts/linker/MachOTypes.h | 133
> 
>  3 files changed, 165 insertions(+), 2 deletions(-)
>
> Diff suppressed because of size. To see it, use:
>
> git diff-tree --root --patch-with-stat --no-color --find-copies-harder
> --ignore-space-at-eol --cc 8ed29b50376856018dfbbcbd6d728c69af0c9f29
> ___
> ghc-commits mailing list
> ghc-comm...@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-commits
>
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs