[Issue 24340] Invalid export directives generated

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jan 15 19:11:14 UTC 2024


https://issues.dlang.org/show_bug.cgi?id=24340

--- Comment #1 from Richard Cattermole <alphaglosined at gmail.com> ---
I have been able to identify the exports that are not showing up.

```
_D6object__T10RTInfoImplVAmA81i40880i1808504320951916831i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i1808504320951916825i7234017283807670553i7234017283807667300i7234017283807667300i7234017283807667300i7234017283807667300i7234017283807667300i7234017283807667300i1236282250650724ZQCKkyG81m
```

```
_D6object__T10RTInfoImplVAmA77i38480i5063812098665367111i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i70ZQCGuyG77m
```

```
_D6object__T10RTInfoImplVAmA74i36944i5063812098665367111i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i5063812098665367110i70ZQCEmyG74m
```

I modified MsCoffObj_export_symbol to print destr in the region of exports (by
a simple counter since its all ordered) and used exports surrounding to
confirm.
https://github.com/dlang/dmd/blob/6da8f7266ca1cafbc1050413457a9eee015d5f05/compiler/src/dmd/backend/mscoffobj.d#L1746

Printing the lengths (strlen) of destr and and dest.ptr lead to the outputs:

6 instead of 1643
6 instead of 1549
6 instead of 1489

The problem appears to be the stack buffer for using DEST_LEN which has the
order of 900 values as per
https://github.com/dlang/dmd/blob/6da8f7266ca1cafbc1050413457a9eee015d5f05/compiler/src/dmd/backend/cc.d#L83

Fix incoming.

--


More information about the Digitalmars-d-bugs mailing list