Un tres simple introduction au NDK Android sur un billet sympathique et a lire pour ceux qui veulent s'y mettre! (et le cross compilo facile c'est par la aussi!! :))
https://www.synthetos.com/blog/native-embedded-code-on-android/
Aller au contenu | Aller au menu | Aller à la recherche
lundi 19 mars 2012
Par eau le lundi 19 mars 2012, 18:04 - geeking
Un tres simple introduction au NDK Android sur un billet sympathique et a lire pour ceux qui veulent s'y mettre! (et le cross compilo facile c'est par la aussi!! :))
https://www.synthetos.com/blog/native-embedded-code-on-android/
mardi 9 novembre 2010
Par eau le mardi 9 novembre 2010, 23:15 - geeking
Je lis du code généré en ce moment... en particulier du code généré par Visual C++ avec des options "star-wars-security" blablabla mais c'est pas le sujet du jour...
Le sujet du jour c'est ma relative incompétence face a des choses comme:
[...] .text:0069979F mov eax, 66666667h .text:006997A4 imul ecx .text:006997A6 sar edx, 1 .text:006997A8 mov eax, edx .text:006997AA shr eax, 1Fh .text:006997AD add eax, edx [...]
alors dans ecx, j'ai la valeur 0x20000, après des tentatives rapides de compréhension, je me suis bon les "magic values", j'en vois de temps en temps, ca pue la "magic value" des trucs de compilo-salaud pour tenter d'avoir de la précisions en continuant a travailler avec des entiers et en base2, bref..
En cherchant un peu je suis tombe la dessus:
Et j'ai enfin compris ce que ce petit snippet de code faisait, alors d’après vous il se passe quoi ? et quel est l’algèbre applique a la valeur dans ecx!? :) (je mettrais a jour avec une explication si le lien n'est vraiment pas clair...)
peace!
jeudi 4 novembre 2010
Par poz le jeudi 4 novembre 2010, 16:31 - geeking
Un billet assez exhaustif, avec des exemples de code et d'output assembleur : c'est ici
mercredi 15 septembre 2010
Par eau le mercredi 15 septembre 2010, 10:36 - geeking
Pendant ma petite pause lecture du matin, je suis tombé sur ce post concernant les nouvelles updates de la GNU toolchain, et en particulier un nouvel attribut: "ifunc"
Ca permet de définir dynamiquement une fonction qui va "résoudre" vers la fonction de votre choix en fonction de critères que vous pouvez définir, le monsieur @ http://nickclifton.livejournal.com/6612.html donne un exemple très simple et très clair (plus clair que mes explications foireuses) que je reproduirais ici :
void *slow_memcpy (void *dst, const void *src, size_t len)
{
char *d = dst; char *s = src;
while (len--)
*d++ = *s++;
return dst;
}
void *fast_memcpy (void *dst, const void *src, size_t len)
{
__asm("foo %0 %1 %2" : "=m" (dst) : "m" (src), "r" (len) : memory);
return dst;
}
static void (* resolve_memcpy (void)) (void)
{
return __cpu_has_foo () ? fast_memcpy : slow_memcpy;
}
void *memcpy (void *, const void *, size_t) __attribute__ ((ifunc ("resolve_memcpy")));
Les details chez http://nickclifton.livejournal.com/6612.html
mercredi 26 août 2009
Par mco le mercredi 26 août 2009, 12:06 - geeking
Ce billet:
Bref une bonne petite leçon d'analyse de code pour testage efficace.
samedi 20 juin 2009
Par eau le samedi 20 juin 2009, 11:35 - geeking
J'ai recu un mac mini et j'ai installe un NetBSD dessus, comme c'est un tout petit peu different, voici quelques liens qui peuvent etre utiles a d'autres :
Alors comme c'est relou de compiler sur un truc pareil et que netbsd te permet de cross compiler sans effort, voila deux ligne de plus:
# ./build.sh -m macppc -T tooldir.NetBSD-5.0_STABLE-macppc tools # ./build.sh -m macppc -T tooldir.NetBSD-5.0_STABLE-macppc kernel=GENERIC
et pratiques, au moins ca traine pas sur mon laptop de compet multicore avec une hotte et des plaques a inductions integree..
et voila la bete:
capsule# uname -a NetBSD capsule.unix4fun.net 5.0 NetBSD 5.0 (GENERIC) #0: Sun Apr 26 22:53:55 UTC 2009 builds@b4.netbsd.org:/home/builds/ab/netbsd-5-0-RELEASE/ macppc/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/macppc/compile/GENERIC macppc capsule#
me reste juste a cross compiler qqes package!
mercredi 10 juin 2009
Par eau le mercredi 10 juin 2009, 16:08 - geeking
Un peu de bla et une tres courte discussion sur "monitorer" la memoire d'un process et ca derive sur le profiling, les call-graphs etc... et de tout ca qqes liens interessants:
enjoy!
lundi 25 février 2008
Par eau le lundi 25 février 2008, 00:51 - geeking
Des p'tites infos et projets interessants au cours de mon joujou avec ma sunblade 1500.
Deja je me suis fait chier avec SunStudio mais en fait j'ai decouvert ca (trop tard!): http://cooltools.sunsource.net/gcc/
Pour les petits documents utiles :
Sinon j'imagine que comme d'hab je suis le dernier a decouvrir ca mais y a
pleins de trucs convi a lire :