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)
Change History (3)
by , 19 years ago
Attachment: | emxomf.txt added |
---|
comment:1 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | new → 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.
(partial) rewrite of hashing and weak $w$ symbol processing.