Opened 14 years ago

Closed 14 years ago

#7 closed defect (fixed)

emxomf: 255 name limit and weak symbols

Reported by: bird Owned by: bird
Priority: normal Milestone: libc-0.6
Component: emx Version: 0.6
Severity: normal Keywords: emxomf
Cc:

Description

There is a problem with the encoding of weak symbols and the 255 limit. Weak symbols can excess 255 chars with their $w$<stuff> while the references will not, thus causing the linking to fail. What needs doing is to standardize the length of the $w$ suffix (only using timestamp, prefering TSC) and limit standard symbols (i.e. non-weak) and symbol references to a length where they will be trunkated when the weak ones will be. $w$<64-bit hex#> == 3+16, so the limit should be dropped from 255 to 236.

Attachments (2)

emxomf.txt (6.1 KB) - added by ydario 14 years ago.
(partial) rewrite of hashing and weak $w$ symbol processing.
emxomf.txt2 (6.6 KB) - added by ydario 14 years ago.
Fix for EXTDEF recors, includes previous changes.

Download all attachments as: .zip

Change History (3)

Changed 14 years ago by ydario

(partial) rewrite of hashing and weak $w$ symbol processing.

Changed 14 years ago by ydario

Fix for EXTDEF recors, includes previous changes.

comment:1 Changed 14 years ago by bird

  • Resolution set to fixed
  • Status changed from new to closed

I've fixed the problems, the patch was a good guideline but it didn't go far enough and the code formatting was mostly wrong. (Indentation is 2 or 4 depending on whether the function is in gnu or bird style, tabs are banned in both cases. Then is that about not leaving in uncessary variables, which isn't that much of a style thing...) The -t and -j options has been removed, and emxomf has one single way of generating the weak suffix.

Note: See TracTickets for help on using tickets.