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: komh 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 komh 5 years ago.
patch for single shared

Download all attachments as: .zip

Change History (7)

Changed 5 years ago by komh

patch for single shared

comment:1 Changed 5 years ago by bird

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

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 komh

  • Resolution wontfix deleted
  • Status changed from closed to reopened

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 set to wontfix
  • Status changed from reopened to closed

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 komh

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 komh

IBM linkers already support .DEF completely.

Note: See TracTickets for help on using tickets.