public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Issue with v2.25 on OS/2
@ 2015-01-06  9:06 Paul Smedley
  2015-01-06  9:17 ` Tristan Gingold
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Smedley @ 2015-01-06  9:06 UTC (permalink / raw)
  To: binutils

Hi All,

I've been maintaining a port of binutils to the OS/2 platform for some years.

I updated my local source to v2.25 yesterday, and an issue with ar has 
cropped up.

Previous versions of binutils had a symbol header of __.SYMDEF - with v2.25 I 
get a / instead

Reading the source I see that:
 Symbol table (must be first):
 "__.SYMDEF       " - Symbol table, Berkeley style, produced by ranlib.
 "/               " - Symbol table, system 5 style.


So for some reason, the OS/2 build has changed to use system 5 style instead 
of the required Berkeley style.

Can anyone help me understand where it is defined which kind of symbol table 
is used for a given platform?

OS/2 uses aout object format fwiw.

Cheers,

Paul

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-06  9:06 Issue with v2.25 on OS/2 Paul Smedley
@ 2015-01-06  9:17 ` Tristan Gingold
  2015-01-06  9:34   ` Paul Smedley
  0 siblings, 1 reply; 8+ messages in thread
From: Tristan Gingold @ 2015-01-06  9:17 UTC (permalink / raw)
  To: Paul Smedley; +Cc: binutils


> On 06 Jan 2015, at 09:54, Paul Smedley <paul@smedley.id.au> wrote:
> 
> Hi All,
> 
> I've been maintaining a port of binutils to the OS/2 platform for some years.
> 
> I updated my local source to v2.25 yesterday, and an issue with ar has 
> cropped up.
> 
> Previous versions of binutils had a symbol header of __.SYMDEF - with v2.25 I 
> get a / instead
> 
> Reading the source I see that:
> Symbol table (must be first):
> "__.SYMDEF       " - Symbol table, Berkeley style, produced by ranlib.
> "/               " - Symbol table, system 5 style.
> 
> 
> So for some reason, the OS/2 build has changed to use system 5 style instead 
> of the required Berkeley style.
> 
> Can anyone help me understand where it is defined which kind of symbol table 
> is used for a given platform?
> 
> OS/2 uses aout object format fwiw.

What is your host ?  Have you enabled plugins ?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-06  9:17 ` Tristan Gingold
@ 2015-01-06  9:34   ` Paul Smedley
  2015-01-06  9:46     ` Tristan Gingold
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Smedley @ 2015-01-06  9:34 UTC (permalink / raw)
  To: binutils

Hi Tristan,

Tristan Gingold <gingold <at> adacore.com> writes:
> > On 06 Jan 2015, at 09:54, Paul Smedley <paul <at> smedley.id.au> wrote:
> > Can anyone help me understand where it is defined which kind of symbol 
table 
> > is used for a given platform?
> > 
> > OS/2 uses aout object format fwiw.
> 
> What is your host ?  Have you enabled plugins ?
Host is os2-emx - I have a set of diffs here to enable it. I have not 
enabled plugins, and never have done previously.

Cheers,

Paul



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-06  9:34   ` Paul Smedley
@ 2015-01-06  9:46     ` Tristan Gingold
  2015-01-07  0:10       ` Paul Smedley
  0 siblings, 1 reply; 8+ messages in thread
From: Tristan Gingold @ 2015-01-06  9:46 UTC (permalink / raw)
  To: Paul Smedley; +Cc: binutils


> On 06 Jan 2015, at 10:23, Paul Smedley <paul@smedley.id.au> wrote:
> 
> Hi Tristan,
> 
> Tristan Gingold <gingold <at> adacore.com> writes:
>>> On 06 Jan 2015, at 09:54, Paul Smedley <paul <at> smedley.id.au> wrote:
>>> Can anyone help me understand where it is defined which kind of symbol 
> table 
>>> is used for a given platform?
>>> 
>>> OS/2 uses aout object format fwiw.
>> 
>> What is your host ?  Have you enabled plugins ?
> Host is os2-emx - I have a set of diffs here to enable it. I have not 
> enabled plugins, and never have done previously.


Ok.  Check the set of BFD_JUMP_TABLE_ARCHIVE entries in your bfd_target.
Debugging shouldn't be very difficult, set a breakpoint on archives.c:
_bfd_compute_and_write_armap, and see which write_armap is called.

Regards,
Tristan.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-06  9:46     ` Tristan Gingold
@ 2015-01-07  0:10       ` Paul Smedley
  2015-01-07  7:26         ` Paul Smedley
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Smedley @ 2015-01-07  0:10 UTC (permalink / raw)
  To: binutils

Hi Tristan,

Tristan Gingold <gingold <at> adacore.com> writes:

> Ok.  Check the set of BFD_JUMP_TABLE_ARCHIVE entries in your bfd_target.
> Debugging shouldn't be very difficult, set a breakpoint on archives.c:
> _bfd_compute_and_write_armap, and see which write_armap is called.

coff_write_armap is being called - which I guess explains the wrong header.

BFD_JUMP_TABLE_ARCHIVE is being set from aout-target.h

Cheers,

Paul

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-07  0:10       ` Paul Smedley
@ 2015-01-07  7:26         ` Paul Smedley
  2015-01-07  8:35           ` Tristan Gingold
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Smedley @ 2015-01-07  7:26 UTC (permalink / raw)
  To: binutils

Hi again,

Paul Smedley <paul <at> smedley.id.au> writes:

> Tristan Gingold <gingold <at> adacore.com> writes:
> 
> > Ok.  Check the set of BFD_JUMP_TABLE_ARCHIVE entries in your bfd_target.
> > Debugging shouldn't be very difficult, set a breakpoint on archives.c:
> > _bfd_compute_and_write_armap, and see which write_armap is called.
> 
> coff_write_armap is being called - which I guess explains the wrong header.
> 
> BFD_JUMP_TABLE_ARCHIVE is being set from aout-target.h

I modified aout-target.h to force BFD_JUMP_TABLE_ARCHIVE to 
BFD_JUMP_TABLE_ARCHIVE(_bfd_archive_bsd) for OS/2, unfortunately it didn't 
help :(

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-07  7:26         ` Paul Smedley
@ 2015-01-07  8:35           ` Tristan Gingold
  2015-01-07  9:04             ` Paul Smedley
  0 siblings, 1 reply; 8+ messages in thread
From: Tristan Gingold @ 2015-01-07  8:35 UTC (permalink / raw)
  To: Paul Smedley; +Cc: binutils


> On 07 Jan 2015, at 08:25, Paul Smedley <paul@smedley.id.au> wrote:
> 
> Hi again,
> 
> Paul Smedley <paul <at> smedley.id.au> writes:
> 
>> Tristan Gingold <gingold <at> adacore.com> writes:
>> 
>>> Ok.  Check the set of BFD_JUMP_TABLE_ARCHIVE entries in your bfd_target.
>>> Debugging shouldn't be very difficult, set a breakpoint on archives.c:
>>> _bfd_compute_and_write_armap, and see which write_armap is called.
>> 
>> coff_write_armap is being called - which I guess explains the wrong header.
>> 
>> BFD_JUMP_TABLE_ARCHIVE is being set from aout-target.h
> 
> I modified aout-target.h to force BFD_JUMP_TABLE_ARCHIVE to 
> BFD_JUMP_TABLE_ARCHIVE(_bfd_archive_bsd) for OS/2, unfortunately it didn't 
> help :(

Then set a breakpoint in coff_write_armap to understand why it is called.
Maybe the bfd_target is not the one you expect.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Issue with v2.25 on OS/2
  2015-01-07  8:35           ` Tristan Gingold
@ 2015-01-07  9:04             ` Paul Smedley
  0 siblings, 0 replies; 8+ messages in thread
From: Paul Smedley @ 2015-01-07  9:04 UTC (permalink / raw)
  To: binutils

Hi Tristan,

Tristan Gingold <gingold <at> adacore.com> writes:
> > On 07 Jan 2015, at 08:25, Paul Smedley <paul <at> smedley.id.au> wrote:
> > Paul Smedley <paul <at> smedley.id.au> writes:
> >> Tristan Gingold <gingold <at> adacore.com> writes:
> >>> Ok.  Check the set of BFD_JUMP_TABLE_ARCHIVE entries in your 
bfd_target.
> >>> Debugging shouldn't be very difficult, set a breakpoint on 
archives.c:
> >>> _bfd_compute_and_write_armap, and see which write_armap is called.
> >> 
> >> coff_write_armap is being called - which I guess explains the wrong 
header.
> >> 
> >> BFD_JUMP_TABLE_ARCHIVE is being set from aout-target.h
> > 
> > I modified aout-target.h to force BFD_JUMP_TABLE_ARCHIVE to 
> > BFD_JUMP_TABLE_ARCHIVE(_bfd_archive_bsd) for OS/2, unfortunately it 
didn't 
> > help :(
> 
> Then set a breakpoint in coff_write_armap to understand why it is called.
> Maybe the bfd_target is not the one you expect.

OK thanks for the tip.

Turns out I was wrong when I answered your earlier question regarding 
plugin support. Looking with the debugger mentioned 'plugin' and unknown 
variant.

I went looking and found:
#define BFD_SUPPORTS_PLUGINS 1

If I run configure in the bfd directory explicitly with --disable-plugins 
and rebuild ar - then it works :)

Thanks for the tips - now to figure out how to default plugin support to 
off :)

Cheers,

Paul

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-01-07  9:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-06  9:06 Issue with v2.25 on OS/2 Paul Smedley
2015-01-06  9:17 ` Tristan Gingold
2015-01-06  9:34   ` Paul Smedley
2015-01-06  9:46     ` Tristan Gingold
2015-01-07  0:10       ` Paul Smedley
2015-01-07  7:26         ` Paul Smedley
2015-01-07  8:35           ` Tristan Gingold
2015-01-07  9:04             ` Paul Smedley

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 read-only IMAP folder(s) and NNTP newsgroup(s).