Opened 19 years ago

Closed 19 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 Yuri Dario 19 years ago.
(partial) rewrite of hashing and weak $w$ symbol processing.
emxomf.txt2 (6.6 KB ) - added by Yuri Dario 19 years ago.
Fix for EXTDEF recors, includes previous changes.

Download all attachments as: .zip

Change History (3)

by Yuri Dario, 19 years ago

Attachment: emxomf.txt added

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

by Yuri Dario, 19 years ago

Attachment: emxomf.txt2 added

Fix for EXTDEF recors, includes previous changes.

comment:1 by bird, 19 years ago

Resolution: fixed
Status: newclosed

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.