Opened 5 years ago

Last modified 4 years ago

#295 new defect

emxomf warning: Cycle detected by make_type.

Reported by: dmik Owned by:
Priority: normal Milestone:
Component: emx Version: 0.6.5
Severity: normal Keywords:
Cc: steve53@…

Description

When compiling large source files (like this: https://github.com/bitwiseworks/mozilla-os2/blob/master/content/base/src/nsDocument.cpp), you will often see this:

emxomf warning: Cycle detected by make_type.
emxomf info: parsing sym no.81366 type=64 at char ' ' in position 12:
slots:r54927

There is a patch to disable this warning in #220 (emxomf-04-no-hll-warnings.diff​) but Knut claims that emxomf should be fixed instead as it produces incorrect HLL info.

This ticket is to sort it out.

Attachments (3)

verbose-warnings.patch (3.4 KB) - added by ydario 5 years ago.
verbose-warnings-2.patch (3.7 KB) - added by ydario 5 years ago.
yuri-emxomf-verbose-warnings-3.patch (3.0 KB) - added by dmik 5 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 5 years ago by dmik

  • Component changed from emx to libc

Note that the current RPM builds have the emxomf-04-no-hll-warnings.diff patch applied for the time being.

Last edited 5 years ago by dmik (previous) (diff)

comment:2 Changed 5 years ago by stevenhl

  • Cc steve53@… added

Changed 5 years ago by ydario

comment:3 Changed 5 years ago by ydario

Show warnings only in verbose mode.

Changed 5 years ago by ydario

comment:4 Changed 5 years ago by ydario

This newer patch includes the previous one.

comment:5 Changed 5 years ago by dmik

BTW, there are more warnings that happen to be produced when compiling large files (and not only them):

emxomf warning: Unknown range type: 16..0
emxomf info: parsing sym no.3 type=128 at char ' ' in position 22:
__float128:t1=r0;16;0;
emxomf warning: syntax error in stabs:   (off 22)
 stabs: __float128:t1=r0;16;0;
emxomf info: parsing sym no.3 type=128 at char ' ' in position 22:
__float128:t1=r0;16;0;

A good test case for all that is e.g. this file: https://github.com/bitwiseworks/mozilla-os2/blob/master/content/base/src/nsDocument.cpp. Note that this file was also the reason #293 was introduced by Steven. It would simply fail to compile with Index too large before and with the Steven's patch applied it gives just a warning:

emxomf warning: HLL debug suppressed for symbol '__ZN7mozilla15FullscreenRoots9sInstanceE' - index 33100 too large
emxomf warning: HLL debug suppressed for symbol '_gPendingPointerLockRequest' - index 39164 too large

I don't know though if it's something that may be fixed or it's an invincible OMF format limitation.

And to clarify, this ticket is meant to fix the source of the problem, not hide warnings — these are only the temporary solution, to stop annoying regular developers for which the emxomf warnings like the one in the subject are completely meaningless.

comment:6 Changed 5 years ago by dmik

I'm uploading the current cumulative patch for verbose warnings that also includes the one from #251 and matches the RPM build of libc (emxomf) 0.6.5-20.

Changed 5 years ago by dmik

comment:7 Changed 4 years ago by bird

  • Component changed from libc to emx
  • Milestone libc-0.6.6 deleted

r3920 implements suppressing stabs -> hll conversion warnings. By default there will be one warning that there are problems, but the user is spared all the details. For users which doesn't want that warning (or the one from #293), use set EMXOMFOPT=-q or specify -q on the emxomf command line. (Equally, for users wishing to see it all, adding the -v to the emxomf command line or set EMXOMFOPT=-v will show them like before.)

At present, I'm not going to spend time fixing the conversion issues that newer gcc versions present to emxomf, so I'm removing this ticked from the 0.6.6 milestone.

Note: See TracTickets for help on using tickets.