[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hs] Cible et lien symbolique : comportement différent ?



Erwan David a écrit :
Le 04/10/2013 16:03, BERTRAND Joël a écrit :
Sylvain L. Sauvage wrote:
[Je réponds au précédent mais j’ai perdu le courriel…]

Le vendredi 4 octobre 2013 15:18:43 Alexandre Hoïde a écrit :
On Fri, Oct 04, 2013 at 12:50:35PM +0200, BERTRAND Joël wrote:
[…]
     Attention, ça n'est pas portable. Je ne sais plus sous quel
     Unix
j'ai pu constater que cela ne fonctionnait pas... et je
pense que c'est à la discrétion du shell, pas de l'OS. Je
suis même déjà tombé sur un OS où toute la ligne de
commande, arguments compris, se trouvait dans argv[0] et un
autre qui omettait le nom de la commande et dont argv[0]
contenait directement le premier argument !

    C’est un standard du langage C¹.
    Mauvais compilateur/libc, changer compilateur/libc.

¹ Cf. section 5.1.2.2.1 de la version C99 (
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf p.11, 23e
page du
PDF).


     Le compilo est un gcc récent avec un linux embarqué sur je ne sais
plus quelle architecture. Et la libc était une eglibc des familles.
D'un autre côté, je suis assez d'accord avec toi, c'est une très
mauvaise libc :-P

     Entre-nous, c'est le shell qui empile ça grçace à un appel de la
libc avant l'appel au main() (dans le cas du C). Si le shell décide de
tout mettre dans argv[0] parce que ça lui fait plaisir, je ne vois pas
trop ce que le compilo pourrait faire...

     Cordialement,

     JKB


Tu dois donc avoir un C free-standing, plutôt qu'un C hosted. Dans ce
cas il n'y a de fait pas de libc, mais une lib qui n'implémente que
partiellement les fonctionalités de la libc.

Non, non, je t'assure que c'est un eglibc et un vrai compilo C (gcc) brut de fonderie.

	JKB


Reply to: