<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/haskell.git, branch encoding</title>
<subtitle>gitlab.haskell.org: ghc/ghc.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/'/>
<entry>
<title>Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc into encoding</title>
<updated>2011-05-13T14:46:17+00:00</updated>
<author>
<name>Max Bolingbroke</name>
<email>batterseapower@hotmail.com</email>
</author>
<published>2011-05-13T14:46:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=526f9d497e57cdc6884544d18d5a0412a7518266'/>
<id>526f9d497e57cdc6884544d18d5a0412a7518266</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the GHCi linker handle partially stripped object files (#5004)</title>
<updated>2011-05-13T14:05:14+00:00</updated>
<author>
<name>Duncan Coutts</name>
<email>duncan@well-typed.com</email>
</author>
<published>2011-05-12T15:25:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=cfbf0eb134efd1c5d9a589f6ae2139d7fad60581'/>
<id>cfbf0eb134efd1c5d9a589f6ae2139d7fad60581</id>
<content type='text'>
When you use 'strip --strip-unneeded' on a ELF format .o or .a file, if
the object file has no global/exported symbols then 'strip' ends up
removing the symbol table entirely. Previously the GHCi linker assumed
there would always be exactly one symbol table and exactly one string
table. In fact, in ELF object files there is no such limitation, instead
each section points to the other sections it needs, in particular
relocation sections have a link to the symbol table section they use and
symbol table sections have a link to the corresponding string table.
So instead of assuming there will always be a global symbol and string
table, all we have to do is validate and follow these links. Then, when
we encounter an empty object file that has no symbols then we handle it
correctly, because since it's empty we never process any relocations and
so never have to follow any links to non-existant symbol tables.

Also, in the case where an object is fully stripped, we can now detect
this more reliably and emit a more helpful error message, e.g:

libHSghc-7.1.20110509.a(DsMeta.o): relocation section #2 has no symbol table
This object file has probably been fully striped. Such files cannot be linked.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When you use 'strip --strip-unneeded' on a ELF format .o or .a file, if
the object file has no global/exported symbols then 'strip' ends up
removing the symbol table entirely. Previously the GHCi linker assumed
there would always be exactly one symbol table and exactly one string
table. In fact, in ELF object files there is no such limitation, instead
each section points to the other sections it needs, in particular
relocation sections have a link to the symbol table section they use and
symbol table sections have a link to the corresponding string table.
So instead of assuming there will always be a global symbol and string
table, all we have to do is validate and follow these links. Then, when
we encounter an empty object file that has no symbols then we handle it
correctly, because since it's empty we never process any relocations and
so never have to follow any links to non-existant symbol tables.

Also, in the case where an object is fully stripped, we can now detect
this more reliably and emit a more helpful error message, e.g:

libHSghc-7.1.20110509.a(DsMeta.o): relocation section #2 has no symbol table
This object file has probably been fully striped. Such files cannot be linked.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of /Users/benl/devel/ghc/ghc-head</title>
<updated>2011-05-12T12:38:13+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-12T12:38:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=7b3a746294d3d034da0052644237e4d1ab1f08c8'/>
<id>7b3a746294d3d034da0052644237e4d1ab1f08c8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove scar tissue</title>
<updated>2011-05-12T10:36:22+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-11T09:00:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=9ae7aca7d1985640aff647de797db2abae49a9a2'/>
<id>9ae7aca7d1985640aff647de797db2abae49a9a2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Wibbles on modules imported by vectoriser</title>
<updated>2011-05-12T10:36:22+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-11T09:00:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=999857fdfd8fa1b305a94bc54bb1860f5c8896d1'/>
<id>999857fdfd8fa1b305a94bc54bb1860f5c8896d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build</title>
<updated>2011-05-12T10:36:21+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-11T03:36:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=5bfa6a6382a4e4b949d333b1996065e9bcfacb18'/>
<id>5bfa6a6382a4e4b949d333b1996065e9bcfacb18</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Follow changes in DPH library: Repr module is gone.</title>
<updated>2011-05-12T10:36:21+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-09T03:24:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=35474439dcf6dc60e2f6e296de7da128c690d50e'/>
<id>35474439dcf6dc60e2f6e296de7da128c690d50e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update vectoriser now that PData instances have moved.</title>
<updated>2011-05-12T10:36:21+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-09T01:26:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=73350708d2769ef96ffa102630f675dd4ab40cd1'/>
<id>73350708d2769ef96ffa102630f675dd4ab40cd1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update vectoriser now that PRepr has moved</title>
<updated>2011-05-12T10:36:21+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-05T06:08:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=31b9ba54b309b7ad8043a7dade7dddb71d184b8b'/>
<id>31b9ba54b309b7ad8043a7dade7dddb71d184b8b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update vectoriser now that Scalar has moved</title>
<updated>2011-05-12T10:36:21+00:00</updated>
<author>
<name>Ben Lippmeier</name>
<email>benl@ouroborus.net</email>
</author>
<published>2011-05-05T04:32:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/haskell.git/commit/?id=b2153822467a86d4da0ccdbd4274741aaa90d81b'/>
<id>b2153822467a86d4da0ccdbd4274741aaa90d81b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
