<feed xmlns='http://www.w3.org/2005/Atom'>
<title>threadx.git/ports/win32, branch v6.4.1_cert</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/threadx.git/atom/ports/win32?h=v6.4.1_cert</id>
<link rel='self' href='http://cgit.235523.xyz/threadx.git/atom/ports/win32?h=v6.4.1_cert'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/'/>
<updated>2026-09-15T22:05:39Z</updated>
<entry>
<title>Aligned the simulator ports' fake stack pointer so ThreadX no longer performs misaligned ULONG accesses</title>
<updated>2026-09-15T22:05:39Z</updated>
<author>
<name>Frédéric Desbiens</name>
<email>frederic.desbiens@eclipse-foundation.org</email>
</author>
<published>2026-09-15T22:05:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=0980ea3df80bfc0eb269561793c8f0d26bbc8918'/>
<id>urn:sha1:0980ea3df80bfc0eb269561793c8f0d26bbc8918</id>
<content type='text'>
The Linux, Win32 and SMP Linux simulation ports build a fake initial stack pointer
by subtracting a fixed 8 bytes from tx_thread_stack_end. That field addresses the
last byte of the thread's stack area, so it is one less than an aligned address and
the resulting pointer is misaligned by construction, however well aligned the stack
the application supplied was.

Two ULONG accesses then use that pointer. _tx_thread_stack_build() itself clears the
word below it, and _tx_thread_create() copies it into tx_thread_stack_highest_ptr,
which TX_THREAD_STACK_CHECK dereferences on every suspend and resume when
TX_ENABLE_STACK_CHECKING is defined. Both are undefined behaviour. They happen to
work on x86 and are reported by GCC's undefined behaviour sanitizer.

The fake stack pointer is now rounded down to a ULONG boundary, which leaves it
inside the stack area and makes both accesses aligned.

This is a backport of the same fix from the development branch. It differs from that
version in one respect: the conversions are written inline rather than through
TX_POINTER_TO_ALIGN_TYPE_CONVERT and TX_ALIGN_TYPE_TO_POINTER_CONVERT, because
tx_api.h defines those two macros only in its non-MISRA branch and the port therefore
does not compile with TX_MISRA_ENABLE defined. That defect is reported upstream as
issue #741. Substituting the ULONG conversion pair would not be equivalent: ALIGN_TYPE
is 64-bit on __x86_64__ while ULONG is 32-bit, so a ULONG round trip would truncate
the pointer.

No certified source is touched, and coverage is unchanged: 4314/4339 lines and
4546/4627 branches merged over the six build configurations, identical line for line
and branch for branch to the measurement before this change. 107 of 107 tests pass in
each of the six.

Assisted-by: Claude Code (Opus 5) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Update version number to 6.4.1</title>
<updated>2024-02-27T06:00:58Z</updated>
<author>
<name>TiejunZhou</name>
<email>50469179+TiejunMS@users.noreply.github.com</email>
</author>
<published>2024-02-27T06:00:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=27f0ce9ca2334b975c298fd00eac1bc05ecec1f7'/>
<id>urn:sha1:27f0ce9ca2334b975c298fd00eac1bc05ecec1f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update version id string.</title>
<updated>2024-01-30T00:39:18Z</updated>
<author>
<name>Bo Chen (from Dev Box)</name>
<email>boche@microsoft.com</email>
</author>
<published>2024-01-30T00:39:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=3e1da1f0b0973e6b833b08b10fb27c7c718835b3'/>
<id>urn:sha1:3e1da1f0b0973e6b833b08b10fb27c7c718835b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update copyright.</title>
<updated>2024-01-29T05:51:15Z</updated>
<author>
<name>Bo Chen (from Dev Box)</name>
<email>boche@microsoft.com</email>
</author>
<published>2024-01-29T05:51:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=8276bcf71142197e09551e29f1779299fa591ec7'/>
<id>urn:sha1:8276bcf71142197e09551e29f1779299fa591ec7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update release date and version (#338)</title>
<updated>2023-12-28T02:51:29Z</updated>
<author>
<name>TiejunZhou</name>
<email>50469179+TiejunMS@users.noreply.github.com</email>
</author>
<published>2023-12-28T02:51:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=d9ffb0f97dcc97c5dec5675439ea65f3f87b466b'/>
<id>urn:sha1:d9ffb0f97dcc97c5dec5675439ea65f3f87b466b</id>
<content type='text'>
* Update version number in API header

* Update release date and version</content>
</entry>
<entry>
<title>Update release version to 6.3.0 and date to 10-31-2023 (#308)</title>
<updated>2023-10-23T07:31:03Z</updated>
<author>
<name>TiejunZhou</name>
<email>50469179+TiejunMS@users.noreply.github.com</email>
</author>
<published>2023-10-23T07:31:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=13b700fd3ed763cedcba7dbd17b859077a01aa9c'/>
<id>urn:sha1:13b700fd3ed763cedcba7dbd17b859077a01aa9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Release 6.2.1 on 08 Mar 2023. Expand to see details.</title>
<updated>2023-03-08T08:26:22Z</updated>
<author>
<name>Tiejun Zhou</name>
<email>tizho@microsoft.com</email>
</author>
<published>2023-03-08T08:26:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=2aa19f3de0b6cf09bb9dca78c8a53fe337b8f0f7'/>
<id>urn:sha1:2aa19f3de0b6cf09bb9dca78c8a53fe337b8f0f7</id>
<content type='text'>
cee19603d Include tx_user.h conditionally.
e40e08007 Update owners
d69641273 Update release date and version
394aee52f Add tx_user.h to GNU port assembly files
5cca2ddd0 RISC-V 64 bit port for Microchip
e0f2c373c Link Winmm.lib that required by the high-resolution timer.
6af472a68 Update Win32 port with high resolution timer.
aea7b556a Add DMB ISH barrier inst in ARMv8-A SMP scheduler
19091a262 Add .section .preamble to m3 m4 m7 module ports
ced60e1b7 Add missing parenthesis in ports assembly file
309dc77ca Modules Cortex-A7 IAR new port
c752a4063 Modules Cortex-A7 GNU new port
dc224b90f Fix race condition in tx_thread_wait_abort and update regression test
6e261f5b7 create threadx cmsis-pack
</content>
</entry>
<entry>
<title>Release 6.1.9</title>
<updated>2021-10-14T00:51:26Z</updated>
<author>
<name>Yuxin Zhou</name>
<email>yuxzho@microsoft.com</email>
</author>
<published>2021-10-14T00:51:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=1af8404c54f9c8d3caa2ac3523c2a5f014aecb1c'/>
<id>urn:sha1:1af8404c54f9c8d3caa2ac3523c2a5f014aecb1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>6.1 minor release</title>
<updated>2020-09-30T22:42:41Z</updated>
<author>
<name>Scott Larson</name>
<email>sclarson@microsoft.com</email>
</author>
<published>2020-09-30T22:42:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=1b5816a206016d06128bd5e9afa7fbf8f09b0847'/>
<id>urn:sha1:1b5816a206016d06128bd5e9afa7fbf8f09b0847</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix win32 release config</title>
<updated>2020-08-14T23:11:56Z</updated>
<author>
<name>Scott Larson</name>
<email>sclarson@microsoft.com</email>
</author>
<published>2020-08-14T23:11:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=ed6412395101d25ad81731aaa3632c04f411f212'/>
<id>urn:sha1:ed6412395101d25ad81731aaa3632c04f411f212</id>
<content type='text'>
</content>
</entry>
</feed>
