View source code
Display the source code in dmd/backend/elfobj.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function dmd.backend.elfobj.Obj_reftodatseg

Refer to address that is in the data segment.

extern(C++) void Obj_reftodatseg (
  int seg,
  ulong offset,
  ulong val,
  uint targetdatum,
  int flags
);

Input

seg = where the address is going offset = offset within seg val = displacement from address targetdatum = DATA, CDATA or UDATA, depending where the address is flags = CFoff, CFseg, CFoffset64, CFswitch

Example

int *abc = &def[3]; to allocate storage: Obj_reftodatseg(DATA,offset,3 * (int *).sizeof,UDATA);

Note

For I64 && (flags & CFoffset64) && (flags & CFswitch) targetdatum is a symidx rather than a segment.

Authors

Walter Bright

License

Boost License 1.0