58Close60
PpHdOn the 2008-03-27 at 08:15pm
Kevin Kofler (./58) :
* Avec seulement 2 ou 3 sections, ça ne peut pas faire grand chose.

A l'heure actuelle, c'est plutot 10/15.
J'ai fait un test avec 400, mais cela me plante sur un :
c/files.89.o: Error: Cannot emit 2 byte absolute reloc to `TMPNAME'.

que je ne comprends pas...
Car s'il y a un 2 byte absolute reloc, c'est que c'est le linkeur qui l'a introduit. A voir.

Après analyse, ca serait :
CountSectionCOFFSize (Section=0x8473890, UserData=0xbfc8e834) at export/exp_dbg.c:138
le coupable.
Kevin Kofler (./58) :
Ça, c'est ta faute, ton code dépend de l'ordre des sections dans tous les sens (c'est ce qui m'a poussé à abandonner ma tentative de modulariser PedroM). On n'a pas le droit de faire des sauts relatifs d'une section à une autre parce que justement tu ne sais pas dans quel ordre les sections vont se trouver.

Tu parles de la 0.81. La 0.82 est beaucoup plus modulaire (Pas encore à 100% par contre).

Et je suis désolé, mais le linkeur ne devrait pas échouer s'il y a un ordre valide !
Il FAUT tester lorsqu'on réordonne les sections, si le nouvel ordre est valide, ie si toutes les relocs relatives restent possibles avec ce nouvel ordre !
Sinon ca ne sert à rien.

Et sinon ca ne sert pas à grand chose:
Avec: 121337
Sans: 120975