[Bug 932621] Re: String corruption
Sebastian Unger
sebunger44 at gmail.com
Sun Feb 10 21:13:36 UTC 2013
Hi Adam,
unfortunately I no longer work at that company and so can't retest
this issue. I have included Keith in the address list who is still
working there and may be able to retest this.
Cheers,
Seb
On Sun, Feb 10, 2013 at 12:43 PM, Adam Conrad <adconrad at 0c3.net> wrote:
> Is this issue still reproducible? Can I get a testcase for it, or some
> sort of hint as to how to reproduce it?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/932621
>
> Title:
> String corruption
>
> Status in “eglibc” package in Ubuntu:
> New
>
> Bug description:
> Hi there,
>
> I'm installing a 64 bit ubuntu server system with oneiric. However,
> due to https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/905660
> I am trying to pull in ifupdown from precise. This pulls in the
> following additional packages from precise due to dependencies:
>
> libc-bin
> libc-dev-bin
> libc6
> libc6-dev
> libc6-dev-i386
> libc6-i386
> libnih-dbus1
> libnih1
>
> The oneiric version of the libc packages is 2.13-20ubuntu5.
> The precise version of the libc packages is 2.15-0ubuntu2.
>
> After this, a i386 application that I have installed on the machine
> breaks. The application is multi V4.2.4 from Green Hills. It is their
> proprietary compiler suite and IDE. When I use this compiler suite to
> compiler our embedded application, it fails to find a particular
> library. Upon further investigation I found that the front-end
> compiler driver (gbuild) passed the wrong library search path down to
> the compiler. The output of ldd gbuild is:
>
> la:~/trunk $ ldd /usr/ghs/multi424/gbuild
> linux-gate.so.1 => (0xf774d000)
> libm.so.6 => /lib32/libm.so.6 (0xf7710000)
> libnsl.so.1 => /lib32/libnsl.so.1 (0xf76f7000)
> libdl.so.2 => /lib32/libdl.so.2 (0xf76f2000)
> libc.so.6 => /lib32/libc.so.6 (0xf7578000)
> /lib/ld-linux.so.2 (0xf774e000)
>
> With the oneiric version of the above packages, gbuild passing the
> (correct) option -L../output/ppc to the compiler. With the precise
> version of these libraries gbuild passes -L../outuut/ppc to the
> compiler. gbuild gets the path from a config file, which actually
> contains the option -L../../output/ppc, but is located one directory
> below the current working directory of the compiler invocation and is
> defined to be local to that file.
>
> So I suspect that gbuild recognizes the -L option and the fact that
> it's argument is a relative path (another -L in the same file with an
> absolute path is passed through correctly) and tries to strip off the
> initial ../ but something goes wrong. I also suspect that the bug only
> shows up in the 32bit version of libc on 64 bit systems, since all my
> 64 bit apps seem to behave normally.
>
> I can modify the option in the config file to check what, if any,
> corruption occurs to different strings. Here are some results:
>
> -L../../output/ppc => -L../outuut/ppc (corrupted, that's the one that I found this with)
> -L../../../output/ppc => -L../../output/ppc (correct, no corruption)
> -L./../../output/ppc => -Lshared-libs/.../output/ppppc (corrupted, shared-libs is the directory that the config file resides in)
> -L./../output/ppc => -Loutput/ppc (correct, no corruption)
> -L.././../output/ppc => -L../output/ppc (correct, no corruption)
> -L../.././output/ppc => -L../output/ppc (correct, no corruption)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/932621/+subscriptions
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to eglibc in Ubuntu.
https://bugs.launchpad.net/bugs/932621
Title:
String corruption
Status in “eglibc” package in Ubuntu:
New
Bug description:
Hi there,
I'm installing a 64 bit ubuntu server system with oneiric. However,
due to https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/905660
I am trying to pull in ifupdown from precise. This pulls in the
following additional packages from precise due to dependencies:
libc-bin
libc-dev-bin
libc6
libc6-dev
libc6-dev-i386
libc6-i386
libnih-dbus1
libnih1
The oneiric version of the libc packages is 2.13-20ubuntu5.
The precise version of the libc packages is 2.15-0ubuntu2.
After this, a i386 application that I have installed on the machine
breaks. The application is multi V4.2.4 from Green Hills. It is their
proprietary compiler suite and IDE. When I use this compiler suite to
compiler our embedded application, it fails to find a particular
library. Upon further investigation I found that the front-end
compiler driver (gbuild) passed the wrong library search path down to
the compiler. The output of ldd gbuild is:
la:~/trunk $ ldd /usr/ghs/multi424/gbuild
linux-gate.so.1 => (0xf774d000)
libm.so.6 => /lib32/libm.so.6 (0xf7710000)
libnsl.so.1 => /lib32/libnsl.so.1 (0xf76f7000)
libdl.so.2 => /lib32/libdl.so.2 (0xf76f2000)
libc.so.6 => /lib32/libc.so.6 (0xf7578000)
/lib/ld-linux.so.2 (0xf774e000)
With the oneiric version of the above packages, gbuild passing the
(correct) option -L../output/ppc to the compiler. With the precise
version of these libraries gbuild passes -L../outuut/ppc to the
compiler. gbuild gets the path from a config file, which actually
contains the option -L../../output/ppc, but is located one directory
below the current working directory of the compiler invocation and is
defined to be local to that file.
So I suspect that gbuild recognizes the -L option and the fact that
it's argument is a relative path (another -L in the same file with an
absolute path is passed through correctly) and tries to strip off the
initial ../ but something goes wrong. I also suspect that the bug only
shows up in the 32bit version of libc on 64 bit systems, since all my
64 bit apps seem to behave normally.
I can modify the option in the config file to check what, if any,
corruption occurs to different strings. Here are some results:
-L../../output/ppc => -L../outuut/ppc (corrupted, that's the one that I found this with)
-L../../../output/ppc => -L../../output/ppc (correct, no corruption)
-L./../../output/ppc => -Lshared-libs/.../output/ppppc (corrupted, shared-libs is the directory that the config file resides in)
-L./../output/ppc => -Loutput/ppc (correct, no corruption)
-L.././../output/ppc => -L../output/ppc (correct, no corruption)
-L../.././output/ppc => -L../output/ppc (correct, no corruption)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/932621/+subscriptions
More information about the foundations-bugs
mailing list