elf32-i386 and a.out-i386-linux

elf32-i386 and a.out-i386-linux

Post by Neil Godfre » Sun, 13 Oct 1996 04:00:00



I have Linux-1.2.13, the GNU compiler gcc 2.7.0, and I'm trying to link
the sample programs in the Sybase Open Client for Linux.  This is the
error I'm getting:

getsend.o(.text+0x4): undefined reference to `ct_cmd_alloc'

The Open Client's libraries are archived object files in
a.out-i386-linux format, yet the compiler produces objects in elf32-i386
format.

I've noticed in the output of objdump that the symbols are named like
_ct_cmd_alloc for the a.out-i386-linux object files, whereas in the C
source-code and objdump output for elf-i386 they're like ct_cmd_alloc.

I've tried ld <elf32-i386 file> -b"a.out-i386-linux" <Open Client
Libraries>, but that still doesn't work.

I have also verified that gcc 2.6.3 produces object files of the format
a.out-i386-linux and that the symbols are named like _ct_cmd_alloc.

--
Neil Godfrey
Bancard Systems

 
 
 

elf32-i386 and a.out-i386-linux

Post by Neil Godfre » Sun, 13 Oct 1996 04:00:00


I have Linux-1.2.13, the GNU compiler gcc 2.7.0, and I'm trying to link
the sample programs in the Sybase Open Client for Linux.  This is the
error I'm getting:

getsend.o(.text+0x4): undefined reference to `ct_cmd_alloc'

The Open Client's libraries are archived object files in
a.out-i386-linux format, yet the compiler produces objects in elf32-i386
format.

I've noticed in the output of objdump that the symbols are named like
_ct_cmd_alloc for the a.out-i386-linux object files, whereas in the C
source-code and objdump output for elf-i386 they're like ct_cmd_alloc.

I've tried ld <elf32-i386 file> -b"a.out-i386-linux" <Open Client
Libraries>, but that still doesn't work.

I have also verified that gcc 2.6.3 produces object files of the format
a.out-i386-linux and that the symbols are named like _ct_cmd_alloc.

--
Neil Godfrey
Bancard Systems


 
 
 

elf32-i386 and a.out-i386-linux

Post by De Clark » Tue, 15 Oct 1996 04:00:00



> I have Linux-1.2.13, the GNU compiler gcc 2.7.0, and I'm trying to link
> the sample programs in the Sybase Open Client for Linux.  This is the
> Neil Godfrey
> Bancard Systems


I have a similar Linux setup, but I seem to be less
Linux literate than you (haven't had Linux for long).
I am trying to build sybtcl under Linux, using the
libsybtcl.a that Sybase provides as part of the Linux
freeware.

gcc loader dies with a segv on the final load.  Is
this a symptom of mismatched types of object files?

Can I link a.out objects with ELF objects? what is the
diff between a.out and ELF?  Why did Sybase not provide
ELF, since that seems to be "more standard" in current
Linux?  Can one convert an a.out library to ELF?

what a disappointment that was.  for a moment I thought
I was gonna have this amazingly cool "access our company
sybase servers from anywhere using your Linux laptop" demo.
oh well

de
--
...............................................................................
: De Clarke, Software Engineer                     UCO/Lick Observatory,
UCSC :

cannot :
: Web: www.ucolick.org |  be solved by another level of indirection"
--J.O.  :

 
 
 

elf32-i386 and a.out-i386-linux

Post by Wouter Vissch » Wed, 16 Oct 1996 04:00:00



>I have Linux-1.2.13, the GNU compiler gcc 2.7.0, and I'm trying to link
>the sample programs in the Sybase Open Client for Linux.  This is the
>error I'm getting:
>getsend.o(.text+0x4): undefined reference to `ct_cmd_alloc'
>The Open Client's libraries are archived object files in
>a.out-i386-linux format, yet the compiler produces objects in elf32-i386
>format.
>I've noticed in the output of objdump that the symbols are named like
>_ct_cmd_alloc for the a.out-i386-linux object files, whereas in the C
>source-code and objdump output for elf-i386 they're like ct_cmd_alloc.
>I've tried ld <elf32-i386 file> -b"a.out-i386-linux" <Open Client
>Libraries>, but that still doesn't work.

This is half you try to a mixed elf a.out library set, your source is
elf, library is a.out. You have to use a.out all the way.
Try:
gcc -b i486-linuxaout .......  <your_file>

This is decribed in the ELF howto, this works since it used this with
ctisql on an 1.2.13 elf installation.

>I have also verified that gcc 2.6.3 produces object files of the format
>a.out-i386-linux and that the symbols are named like _ct_cmd_alloc.
>--
>Neil Godfrey
>Bancard Systems


#include <stddisclaimer.h>       This might not be the view of my employer.
 
 
 

elf32-i386 and a.out-i386-linux

Post by david parso » Wed, 16 Oct 1996 04:00:00




>Can I link a.out objects with ELF objects? what is the
>diff between a.out and ELF?  Why did Sybase not provide
>ELF, since that seems to be "more standard" in current
>Linux?

I'd suspect that the engineer who did the port is running an a.out
system.  The freely distributable clients for Linux have been around
for quite a while now -- I was using them at Apple about a year and
a half ago -- and probably predate the mad rush to ELF.   The easy
solution is to compile everything as a.out (-bi486-linuxaout, or go
on a linking frenzy so you can do -baout) and then the sybase clients
will work just fine.

                ____
  david parsons \bi/ if they'd only do the server on Linux i'd be tempted
                 \/  to pass the *sucking parasites a little bit of moey.

 
 
 

elf32-i386 and a.out-i386-linux

Post by Colin Fra » Thu, 17 Oct 1996 04:00:00


<snip>

First everything *must* be done in a.out  (Thanks to a few boneheads)
Or find out about converting the libs to ELF.

<snip>

Quote:

>Can I link a.out objects with ELF objects? what is the

No.  All objects and libraries most be of the same format.

Quote:>diff between a.out and ELF?  Why did Sybase not provide
>ELF, since that seems to be "more standard" in current
>Linux?  Can one convert an a.out library to ELF?

Well here goes.  Back in the a.out days, a few of us LinuxHeads at Sybase
pushed very hard to *give* the Linux community the libs to have fun with.
We thought that we could make it an untested-no-charge-no-support product.
We stuck our necks out and assured the powers that be that this would not
generate any tech support calls. (the only way they'd agree) Guess what?

Some idiots did anyway.  We got flamed with the "I told you so".  With
egg on our faces we didn't have a leg to stand on when the decision was
made not to release the Linux version anymore.

Quote:

>what a disappointment that was.  for a moment I thought
>I was gonna have this amazingly cool "access our company
>sybase servers from anywhere using your Linux laptop" demo.
>oh well

I know the feeling.

But there is light at the end of the tunnel.  I saw somewhere someone
clamed to be able to convert am a.out lib to ELF.

If you do this, don't call Sybase tech sypport.  If you are *smart* enough
to do that, tell them that you converted the unsupported a.out linux
version to ELF and you need support for the hackk :-) That way the a.out
version gets pulled from the Sybase web page.

I guess you have to work for Sybase to see the ELF version.
Sorry... and I do mean it :-(

Colin...

 
 
 

elf32-i386 and a.out-i386-linux

Post by Wouter Vissch » Fri, 18 Oct 1996 04:00:00


===== CUT ====

Quote:>>diff between a.out and ELF?  Why did Sybase not provide
>>ELF, since that seems to be "more standard" in current
>>Linux?  Can one convert an a.out library to ELF?
>Well here goes.  Back in the a.out days, a few of us LinuxHeads at Sybase
>pushed very hard to *give* the Linux community the libs to have fun with.
>We thought that we could make it an untested-no-charge-no-support product.
>We stuck our necks out and assured the powers that be that this would not
>generate any tech support calls. (the only way they'd agree) Guess what?
>Some idiots did anyway.  We got flamed with the "I told you so".  With
>egg on our faces we didn't have a leg to stand on when the decision was
>made not to release the Linux version anymore.
>If you do this, don't call Sybase tech sypport.  If you are *smart* enough
>to do that, tell them that you converted the unsupported a.out linux
>version to ELF and you need support for the hackk :-) That way the a.out
>version gets pulled from the Sybase web page.
>I guess you have to work for Sybase to see the ELF version.
>Sorry... and I do mean it :-(
>Colin...

Colin ,
You and your fellow LinuxHeads at Sybase thanks for sticking your necks out !
Though ELF would be nice a.out still can be used.
What can be done to persuade your bosses. :))
We are discussing client software, which means that to use this you have
to access a server for which was paid, and for which probably
a maintenace fee is paid. If an "idiot" s:) encounters a problem and
contacts sybase he/she needs a maintenance contract nummer so what is the
big deal.
Actualy I think that it would not a bad idea that for every server sold,
the client software (ct and dblib) would be free available for all
platforms. The maintenance would primarily be tied to the server than, which would make life for us, system integrators, much simpler and would mean that
a Linux port was not something special.

We start using Linux as frontends, we need contact with a Sybase database for
initialisation, not havy transaction oriented, not critical,
but more complicated with no native client libraries.

Wouter

#include <stddisclaimer.h>       This might not be the view of my employer.

 
 
 

elf32-i386 and a.out-i386-linux

Post by Norbert Berze » Fri, 18 Oct 1996 04:00:00





> <snip>

> First everything *must* be done in a.out  (Thanks to a few boneheads)
> Or find out about converting the libs to ELF.

> <snip>

> >Can I link a.out objects with ELF objects? what is the

> No.  All objects and libraries most be of the same format.

Hello,

I'm not shure, but for conversion you may try the following
(assuming "libOld.a" is the STATIC a.out library you want to
 convert into a new STATIC elf library called "libNew.a"):

        $ objcopy --remove-leading-char libOld.a libNew.a

After that you should be able to use "libNew.a" as an elf replacement
for the a.out library "libOld.a". Actually "libNew.a" remains to be in
a.out format, but "ld" should be able to use it in conjunction with your
elf objects.

This only works for static labraries since conversion of shared libs
is more complicated by far due to the following:

 - a.out shlibs are not position independant but elf shlibs
   have to be.
 - a.out shlibs don't have symbolic information in their "*.so"
   part but the elf ld.so needs symbolic info at runtime.
   So one has to merge the a.out symbolic info from the "*.sa"
   part of the library into the target elf lib*.so ...

Greetings

--

N. Berzen, Geod. Inst. der RWTH-Aachen, Templergraben 55, 52056 Aachen

 
 
 

elf32-i386 and a.out-i386-linux

Post by david parso » Fri, 18 Oct 1996 04:00:00



>Colin ,
>You and your fellow LinuxHeads at Sybase thanks for sticking your necks out !
>Though ELF would be nice a.out still can be used.
>What can be done to persuade your bosses. :))

I don't work for the idiots at Sybase anymore, but I'd bet that crossing
their palms with silver would do the job; if you haven't paid for the
server yet, ask the sales agent for a Linux-elf version of dblib/ctlib/
whatever, and it's very likely that they will bend over backwards getting
you copies of the code and a license to use it.  If you've already paid
for the server, you may have to pay some money, but if you're a large
site the extra revenue will smooth the way to a lot of things.

                 ____

                  \/

 
 
 

elf32-i386 and a.out-i386-linux

Post by Randy Jord » Fri, 18 Oct 1996 04:00:00



> ===== CUT ====
> >>diff between a.out and ELF?  Why did Sybase not provide
> >>ELF, since that seems to be "more standard" in current
> >>Linux?  Can one convert an a.out library to ELF?

> >Well here goes.  Back in the a.out days, a few of us LinuxHeads at Sybase
> >pushed very hard to *give* the Linux community the libs to have fun with.
> >We thought that we could make it an untested-no-charge-no-support product.
> >We stuck our necks out and assured the powers that be that this would not
> >generate any tech support calls. (the only way they'd agree) Guess what?
> >Colin...

Using this 'a.out' library just got easier... We have ported the
Sybernet http to Sybase server system to linux. Now using your linux
web site, you can connect to any sybase server in your interfaces
file.

The system now operates with Solaris using a CERN (or NCSA) server,
Netscape server, on a Mac using Webstar, or on Linux with Apache.

Come see.

http://linux.sri.com/     (linux 1.2.13 on 486/66)

or

http://spacely.sri.com/netscape.html  (Solaris 2.5.1 on sparc 5 Netscape)

http://spacely.sri.com:2080/          (Solaris 2.5.1 on sparc 5 CERN)

or

http://sybernet.sri.com/      (MacOS 7.5.3 on 8100/80 WebStar)

The shareware is only 50$.

RJ

------------------------------------------------------------------------
Randy Jordan                                 Senior Systems Analyst
                                             SRI International
(408) 735-1175                               (415) 859-4625

                                             http://mis.sri.com/rjordan/
------------------------------------------------------------------------

 
 
 

1. Downloading RH7...So many types: 7.0-i386...7.0-i386-respin...7.0-ja-i386

Hya,

I was going to download RedHat 7.0.  But since it's a long download.  I
want to make sure I download what is the best.  I see that there are
three types of ISO's:

  7.0-i386-docs-8bit.iso
  7.0-i386-powertools.iso
  7.0-i386-respin-SRPMS.iso
  7.0-i386-respin-disc1.iso
  7.0-i386-respin-disc2.iso
  7.0-i386-upgrade.iso
  7.0-ja-i386-SRPMS.iso
  7.0-ja-i386-disc1.iso
  7.0-ja-i386-disc2.iso

Which one do you guys recommend?  I want the most updated one.  Would
that be the "ja's" or the "respin's."

Thanks...

Raul Trujillo

2. Hitachi cdrom problem

3. tcsh HOSTTYPE i386-linux, should be i386?

4. How to restore from dump tapes on AIX

5. tcsh HOSTTYPE is i386-linux, should be i386?

6. Dead keys and accents in X.

7. RH6.0 - i386-glibc20-linux-gcc or i386-redhat-linux-gcc

8. Possible to use EQL driver with two Dynamic IP serial connections ?

9. newbie question about RH contrib/i386, contrib/hurricane/i386

10. Filesystem ext2 broken after transport between I386-Linux and Alpha-Linux

11. /usr/lib/gcc-lib/i386-linux and /usr/lib/gcc-lib/i486-linux

12. GCC hosted on i386-linux, cross to m68k-* -- anywhere?

13. i386-linux vs i486linux: Which is which?