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

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



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.


Reply to: