1 |
On 22-07-2009 10:10:32 +0200, Markus Duft wrote: |
2 |
> > ah. Well, I meant to look at the patch in detail last night, commit it |
3 |
> > and make a new snapshot ... but something came inbetween. |
4 |
> |
5 |
> ah, well - no problem :) |
6 |
> |
7 |
> > |
8 |
> > I have to look into detail, because it seems your PECOFF actually has |
9 |
> > exactly the same behaviour as ELF, so I'd like to see if we can make the |
10 |
> > LinkageMapPeCoff a shallow wrapper around the LinkageMap(ELF) one, to |
11 |
> > avoid duplication. Also, I'm not sure if scanpecoff should be in |
12 |
> > Portage, or in a bumped version of pax-utils. |
13 |
> |
14 |
> Hm. The LinkageMapPeCoff inherits from LinkageMap, and thus already has |
15 |
> as low code duplication as possible. i _have_ to implement the parsing |
16 |
> (if you can call simple reading from stdout "parsing" ;)) in a separate |
17 |
> "rebuild" method, and i _have_ to implement the _ObjectKey myself, since |
18 |
> inodes are no good on windows... |
19 |
|
20 |
Ah, ok, then it should already be optimal. |
21 |
|
22 |
> scanpecoff's location... hmmm... there is no "really good" place for it. |
23 |
> since it handles both interix and winnt, it is not suited to be put into |
24 |
> parity, nor into binutils or something thelike. i think portage is the |
25 |
> best place, since only portage will ever use it (i hope so - nobody else |
26 |
> will have fun with it, since it only produces _exactly_ the format |
27 |
> required by portage...). However, i'm open to location suggestions :) |
28 |
|
29 |
I think the following will get us up to speed quickly: |
30 |
- rename the current script to "readpecoff" or something |
31 |
- ship it with portage for the time being |
32 |
|
33 |
Then I'd like it when we could get a scanpecoff (like scanmacho and |
34 |
scanelf, the C-programs from pax-utils) that does the job, replacing |
35 |
your huge bash-script. |
36 |
|
37 |
> > At the moment I'm trying to open a docx file from Microsoft that should |
38 |
> > be the specification of PECOFF. |
39 |
> |
40 |
> uh... you won't have fun with that document - i know it by rote ;) it |
41 |
> does _not_ specify how both interix and winnt handle runpaths, needed |
42 |
> shared libs, etc. |
43 |
|
44 |
I can't even open it. OpenOffice die hard aborts on it (Signal 6). |
45 |
|
46 |
> how interix handles those things is completely hidden somewhere in the |
47 |
> interix loader/binary format/binutils patches at M$. (However the |
48 |
> current binutils 2.17 patches are open, so i could have a look at it - |
49 |
> the patch is about 300.000 lines long ;*( ...) |
50 |
|
51 |
I once split that patch into our binutils ebuild for 2.17, maybe it's |
52 |
useful? |
53 |
|
54 |
> The format used by winnt to model shared library features (rpath, |
55 |
> needed, etc.) is defined by parity (native win32 does not support those |
56 |
> out of the box...) - it builds upon the PE/COFF specs, but of course it |
57 |
> does it's own things :) if you want to know what it does exactly -> ask |
58 |
> me, as i wrote it ;) |
59 |
|
60 |
|
61 |
-- |
62 |
Fabian Groffen |
63 |
Gentoo on a different level |