Serge Guelton's contributions
Article
The benefits and limitations of flexible array members
Serge Guelton
Discover how flexible array members offer convenience and improve performance, and how compiler complexities are mitigated.
Article
Use compiler flags for stack protection in GCC and Clang
Serge Guelton
+1
Smash-stacking attacks are common, but the GCC and Clang compilers have a number of flags that can help defend against them. Read on for more info.
Article
Enforce code consistency with clang-format
Serge Guelton
Get started with clang-format, an LLVM tool that you can use to set and maintain a consistent code style in your open source C and C++ projects.
Article
A compiler option, a hidden visibility, and a weak symbol walk into a bar
Serge Guelton
When the LLVM package build with the Clang compiler's link-time optimization activated failed, the LLVM packaging team knew they had a mystery to solve.
Article
Optimizing the Clang compiler’s line-to-offset mapping
Serge Guelton
Want Clang to compile faster? Learn why optimizing the LineOffsetMapping function was a good start, and how it was optimized for both SSE and bithacks.
Article
Profile-guided optimization in Clang: Dealing with modified sources
Serge Guelton
Learn how the Clang compiler implements profile-guided optimization, then explore a real-world bug that shows the pitfalls of the current approach to PGO.
Article
Toward _FORTIFY_SOURCE parity between Clang and GCC
Serge Guelton
We describe the patches applied to Clang so that -D_FORTIFY_SOURCE works as well with Clang and glibc as it does with GCC and glibc.
Article
Customize the compilation process with Clang: Making compromises
Serge Guelton
In part two of this series, we look at compromises and tradeoffs involved in specific approaches to customizing the compilation process.
![Featured image for: Value range propagation in GCC with Project Ranger.](/sites/default/files/styles/list_item_thumb/public/blog/2021/04/gcc_1x.png?itok=vd_BaTct)
The benefits and limitations of flexible array members
Discover how flexible array members offer convenience and improve performance, and how compiler complexities are mitigated.
![Featured image for: Value range propagation in GCC with Project Ranger.](/sites/default/files/styles/list_item_thumb/public/blog/2021/04/gcc_1x.png?itok=vd_BaTct)
Use compiler flags for stack protection in GCC and Clang
Smash-stacking attacks are common, but the GCC and Clang compilers have a number of flags that can help defend against them. Read on for more info.
![2021_Clang-tidy_Featured_Article_image_A Featured image for "Get started with clang-tidy in Red Hat Enterprise Linux."](/sites/default/files/styles/list_item_thumb/public/blog/2021/03/2021_Clang-tidy_Featured_Article_image_A.png?itok=UaR_Jxuf)
Enforce code consistency with clang-format
Get started with clang-format, an LLVM tool that you can use to set and maintain a consistent code style in your open source C and C++ projects.
![2021_Clang-tidy_Featured_Article_image_A Featured image for "Get started with clang-tidy in Red Hat Enterprise Linux."](/sites/default/files/styles/list_item_thumb/public/blog/2021/03/2021_Clang-tidy_Featured_Article_image_A.png?itok=UaR_Jxuf)
A compiler option, a hidden visibility, and a weak symbol walk into a bar
When the LLVM package build with the Clang compiler's link-time optimization activated failed, the LLVM packaging team knew they had a mystery to solve.
![2021_Clang-tidy_Featured_Article_image_B (1) Featured image for: Optimizing the Clang compiler’s line-to-offset mapping.](/sites/default/files/styles/list_item_thumb/public/blog/2021/05/2021_Clang-tidy_Featured_Article_image_B-1.png?itok=TWuaeAox)
Optimizing the Clang compiler’s line-to-offset mapping
Want Clang to compile faster? Learn why optimizing the LineOffsetMapping function was a good start, and how it was optimized for both SSE and bithacks.
![Profile-guided optimization in Clang: Dealing with modified sources](/sites/default/files/styles/list_item_thumb/public/blog/2020/02/fantasy-4033001-1-cropped.jpeg?itok=n2WkyTmt)
Profile-guided optimization in Clang: Dealing with modified sources
Learn how the Clang compiler implements profile-guided optimization, then explore a real-world bug that shows the pitfalls of the current approach to PGO.
![Profile-guided optimization in Clang: Dealing with modified sources](/sites/default/files/styles/list_item_thumb/public/blog/2020/02/fantasy-4033001-1-cropped.jpeg?itok=n2WkyTmt)
Toward _FORTIFY_SOURCE parity between Clang and GCC
We describe the patches applied to Clang so that -D_FORTIFY_SOURCE works as well with Clang and glibc as it does with GCC and glibc.
![clang-mathew-schwartz-unsplash Clang-compiler-2](/sites/default/files/styles/list_item_thumb/public/blog/2019/07/clang-mathew-schwartz-unsplash.jpg?itok=U38Zx7NH)
Customize the compilation process with Clang: Making compromises
In part two of this series, we look at compromises and tradeoffs involved in specific approaches to customizing the compilation process.