Jan Sikorski (@jsikorski) commented about dlls/dbghelp/dwarf.c:
> }
>
> /* Dwarf tends to keep the structure of the C/C++ program, and emits DW_TAG_lexical_block
> - * for every block in source program.
> + * for every block the in source program.
in the ;)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1126#note_11664
On Thu Oct 20 17:51:23 2022 +0000, **** wrote:
> Zebediah Figura replied on the mailing list:
> ```
> On 10/20/22 03:54, Eric Pouech wrote:
> > From: Eric Pouech <eric.pouech(a)gmail.com>
> >
> > Some Windows version expect output to be aligned on 4 bytes.
> >
> > Notes (from i386 and x86_64 tests):
> > - MSVC and Mingw/gcc don't layout the two variables (sdki, sdki_ex)
> > the same way.
> > - MSVC aligns each variable on 4-byte boundary,
> > - MingW/GCC stores them in a 8-byte chunk, but starting from the
> > end of the buffer: hence none of them is on a 4-byte boundary.
> >
> > So, fixing the alignment of variables is not sufficient to
> > workaround the compilers' discrepancy on all source code.
> >
> > I didn't find a generic way to align on 4 bytes structures of size
> > smaller than 4 bytes (apart from adding the DECLSPEC_ALIGN to
> > each of the offending structures, likely not that many though).
> > Ideas welcomed.
> Should we put those structs in pshpack4/poppack in the header? (They
> aren't defined anywhere publicly on Windows, so we can't compare there.)
> ```
from the testbot results, it seems that only W8 and early versions of W10 return errors on pointers not aligned on 4-byte; newer versions of W10 happily handle calls with unaligned pointers
so I considered that the "default" is to support non aligned access, but this requires adapting the tests to workaround limitations (not to say bug) in W8/early W10 versions rather than to put it inside the structure declaration
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1114#note_11659
--
v4: ntdll: Fill the IOSB in sock_transmit() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_send().
ntdll: Fill the IOSB in sock_send() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_recv().
ntdll: Fill the IOSB in sock_recv() only inside the "if (alerted)" block.
ntdll: The async handle passed to set_async_direct_result() cannot be NULL.
ws2_32/tests: Add more tests for iosb contents while a recv is pending.
https://gitlab.winehq.org/wine/wine/-/merge_requests/871