[gccsdk] -lOSLlib and -static no go

Ron beeb at woosh.co.nz
Sun Oct 6 14:41:03 PDT 2013

In message <525192B8.7000001 at sky.com>
          Lee Noar <leenoar at sky.com> wrote:

> On 06/10/13 14:59, Ron wrote:
> > In message <52515DB5.3080307 at sky.com>
> >            Lee Noar <leenoar at sky.com> wrote:
> >
> >> On 06/10/13 07:01, Ron wrote:
> >>> I think my installation of oslib is OK, I used the softfloat GCC version
> >>> from the sourceforge site.
> >>>
> >>> Everything is fine until I try elf2aif on my (working OK) binary.
> >>> It reports non static data is present, and when I try adding -static
> >>> to the gcc commands it then claims -lOSLib cant be found.
> >>> It's as if gcc has worked out libOSLib.a cant be linked staticly.
> >>
> >> Try -lOSLib32. You're correct that you need to use -static when linking
> >> so that elf2aif will work. Why it would find OSLib before -static, but
> >> not after, I don't know, but normally, the OSLib library is called
> >> libOSLib32.a.
> >>
> >> Lee.
> >>
> >
> > Sorry, I posted the wrong lib names there.
> > And it is libOSLib32.a and -lOSLib32 that I am using, the same one
> > that comes with gcc4 softfloat download.
> > Now that you've told me that it /should/ be OK with -static, I will
> > continue looking for the cause.
> > I know that it is linking with -lOSLib32 as I was getting a linking
> > error until I put the libOSLib32a inside !SharedLib.libs.lib
> You'll also need to use -LOSLib: to tell GCC where the library is;
> this assumes that you've double clicked the SetVars obey file that comes
> with OSLib.
> > I'll have to look closer at my use of -static.
> I've tried static linking and elf2aif conversion using both the 4.1.2
> and @trunk cross compilers with no errors. I haven't tried the native
> compilers though.
> Lee.
Just using plain libOSLib32.a in the command worked fine with a copy
in the source (CSD) directory, so I new it /would/ work once it could
be found.
I followed up the use of -LOSLib:, and found that I had previously
put the supplied OSLib setvars commands in my !GCC.!Run.

Once I changed the path to
Set OSLib$Path <SharedLibs$Dir>.lib.
 -LOSLib: -lOSLib32
works fine with -static
Yes, -LOSLib: /is/ needed when static linking, I was lazely thinking
that because non-static was finding the lib then all was well.
I also started off thinking native gcc defaulted to -static so
was slow getting here.

Thanks Ron M.

More information about the gcc mailing list