Un équivalent objcopy pour Mac / iPhone?

je voudrais renommer les symboles à l'intérieur des fichiers objet (.o) avec quelque chose qui serait l'équivalent Mac de binutils' objcopy --redefine-syms outil.

je n'ai pas trouvé arm-apple-darwin10-objcopy. J'ai essayé les MacPorts!--2 -- > port et aussi essayé de jouer un peu avec otool et segedit sans grand succès.

des idées s'il vous plaît?

21
demandé sur Bill the Lizard 2010-08-13 14:07:26

3 réponses

ça ressemble à un travail pour Le Brouillard D'Agner objconv.

annonce:

j'ai maintenant terminé de faire le plein soutien pour les dossiers de Mach-O dans le convertisseur de dossier d'objet mentionné dans Mes poteaux précédents. Vous pouvez l'utiliser comme un remplacement pour l'utilité objcopy manquant.

Objconv peut être utilisé pour les buts suivants:

Convertir des dossiers d'objet et des dossiers de bibliothèque/archive entre Les formats Mach-O, ELF, COFF et OMF pour toutes les plateformes x86 et x86-64.

changer les noms de symboles dans les fichiers d'objets, rendre les symboles faibles, ajouter des noms d'alias aux symboles.

construire, Modifier et convertir des fichiers de bibliothèque statiques (*.un.* ,lib) à travers les plateformes (Mac, Linux, BSD, Windows)

Dump de l'objet de fichiers et les fichiers exécutables

démonter les fichiers d'objets et les fichiers exécutables. Très bon désassembleur.

5
répondu synthesizerpatel 2018-05-15 17:38:22

je sais que je suis la résurrection de cet article de la mort, mais...

j'ai un besoin soudain de le faire, et découvrir qu' objcopy ne fonctionne pas sur OSX était un peu un choc. Mais J' penser il est possible d'utiliser ld pour obtenir le même effet:

ld -r input.o -o output.o -alias oldsymbol newsymbol -unexported_symbol oldsymbol

cela crée vraiment un alias pour le symbole sous un nouveau nom et Cache l'ancien.

je n'ai pas eu la chance de faire beaucoup de tests mais en regardant le fichier de sortie avec nm montre qu'il semble faire la bonne chose.

3
répondu David Given 2012-08-14 11:56:51

objconv ne fonctionne pas actuellement pour ARM, cette option n'est donc pas disponible pour iPhone. Il ne devrait pas être de problème d'utiliser objconv de elf à mach-o pour mac osx x86/x64 cependant. Faites - moi savoir si vous avez trouvé une solution pour ARM

1
répondu iOSThing 2012-04-27 01:11:40