Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#322 closed defect (wontfix)

Support SINGLE SHARED attributes of DATA

Reported by: KO Myung-Hun Owned by:
Priority: normal Milestone: libc-0.7
Component: emx Version: 0.6.6
Severity: normal Keywords:
Cc:

Description

Hi/2.

emxomfld(wlink) and ld does not support SINGLE SHARED attributes of DATA.

Attachments (1)

single_shared.diff (2.2 KB) - added by KO Myung-Hun 5 years ago.
patch for single shared

Download all attachments as: .zip

Change History (7)

Changed 5 years ago by KO Myung-Hun

Attachment: single_shared.diff added

patch for single shared

comment:1 Changed 5 years ago by bird

Resolution: wontfix
Status: newclosed

That's on purpose as it doesn't mix with how libc works (forking and more). Unless you present me with a very convincing use case, I'm not going to help users mess up their program/DLLs by making their data segment shared.

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

comment:2 Changed 5 years ago by KO Myung-Hun

Resolution: wontfix
Status: closedreopened

First of all, LINK386, VAC308 and VAC365 support this. And sometimes global data structure acrossing processes is needed. Of course, it can be achived by a shared memory. But a shared memory requires additional work, and memory usage is not efficient. For 1 bytes, at least 4KB is used. Worse 64KB.

comment:3 Changed 5 years ago by bird

Resolution: wontfix
Status: reopenedclosed

Seems you've got no clue what implications having a shared data section in a DLL linked against kLibC (specifically, including dll0.o) will have. Which is exactly why I do not want to expose this feature.

If you need it and know what you're doing, you'll easily find you way around it (hint: #252 will make this easier once implemented).

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

comment:4 Changed 5 years ago by KO Myung-Hun

The eaiest way is to use LINK386, VAC308 or VAC365 linker.

comment:5 Changed 5 years ago by bird

Wrong. You put the data you wish to share in a separate segment.

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

comment:6 Changed 5 years ago by KO Myung-Hun

IBM linkers already support .DEF completely.

Note: See TracTickets for help on using tickets.