mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Re: bug? sysinfo() and getopt_long() misbehavior
Date: Thu, 7 Jun 2012 23:12:43 -0400	[thread overview]
Message-ID: <20120608031243.GG163@brightrain.aerifal.cx> (raw)
In-Reply-To: <20120608005148.7d82c40b@sibserver.ru>

On Fri, Jun 08, 2012 at 12:51:48AM +0800, orc wrote:
> I have built a musl-enabled system and encountered some bugs:
> 
> - sysinfo() incorrectly works. The result is busybox' free misbehaving:

Thanks for the catch. Apparently the structure definition was bogus
and was not intended for direct use with the linux sysinfo syscall.
It's fixed in git.

> - (did not investigated properly) possible getopt_long() misbehavior, or
>   just miscompile. The result is that iptables and gnu sed misbehaving
>   at command line arguments:
> % sed -i '/test/d' ttnosuchfile
> sed: can't find label for jump to `tnosuchfile'

My GNU sed build does not exhibit this behavior. It's linked with an
older musl, but the getopt code has not changed. Is it possible you
did anything odd building musl (editing the makefile/cflags)? Does the
same happen if you static link sed? If your answers to these questions
suggest a problem in musl, I'll rebuild sed and see if I can reproduce
it.

> % sed '/test/d' -i ttnosuchfile
> sed: can't read -i: No such file or directory
> sed: can't read ttnosuchfile: No such file or directory

This is to be expected. Options must come before non-option arguments.
The glibc behavior to the contrary is broken and non-conformant.

> # iptables -vnL
> iptables v1.4.12.1: unknown arguments found on commandline
> Try `iptables -h' or 'iptables --help' for more information.
> # iptables --version
> iptables v1.4.12.1: unknown arguments found on commandline
> Try `iptables -h' or 'iptables --help' for more information.
> 
> Both sed and iptables were compiled with -D_GNU_SOURCE defined.
> 
> Unfortunately I don't actually know how to fix these two.

I'm suspecting something is broken with respect to dynamic linking...
Are you using an old version of binutils? Did you remove or replace
-Bsymbolic-functions with something else?

Rich


  reply	other threads:[~2012-06-08  3:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-07 16:51 orc
2012-06-08  3:12 ` Rich Felker [this message]
2012-06-08  5:27   ` orc
2012-06-08 12:12     ` orc
2012-06-08 14:12       ` Rich Felker
2012-07-01 10:20         ` orc
2012-06-08  5:37   ` Isaac Dunham
2012-06-08 14:10     ` Rich Felker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120608031243.GG163@brightrain.aerifal.cx \
    --to=dalias@aerifal.cx \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).