Category Archives: Stuff about Compiler

Compiler Theory

itevad – How to write your own protocol and its stack – part 6

Previous_Part_5 From this post, we will start our Flex and Bison journey. Before that, we will need a clarification for BNF and ABNF again and give ABNF description of Iitevad accordingly. As mentioned in General Background, BNF and ABNF are … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , , , | Leave a comment

itevad – How to write your own protocol and its stack – part 5

Previous_Part_4 In this post, we will begin our Itevad Protocol Text Encoder. Again, with the help of ASN.1 compiler, we have already got the structure of Itevad itself. Moreover, we have implemented binary encoder and decoder in previous post. For … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , | Leave a comment

itevad – How to write your own protocol and its stack – part 4

Previous_Part_3 In this post, we will continue our Itevad Protocol Binary Ber Decoder. With the help of ANS.1 compiler, not only do we get the structural description of Itevad protocol itself but also the necessary converting functions used to convert … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , | Leave a comment

itevad – How to write your own protocol and its stack – part 3

Previous_Part_2 In this post, we will focus on writing Itevad Protocol Binary Ber Encoder. With the necessary headers and sources generated in Part_2, now we could write our Ber Encoder. Then we will run our encoder and use hexdump to … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , , | Leave a comment

itevad – How to write your own protocol and its stack – part 2

Previous_Part_1 In this part, we will start to play with ASN.1 and asn1c – installing open source ASN.1 compiler, asn1c, writing ANS.1 description of Itevad and then compiling. Please note we will not cover detailed grammar of ASN.1 or how … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , | Leave a comment

itevad – How to write your own protocol and its stack – part 1

From this post, as well as the following 4~6 posts, I will try to illustrate how to write your own protocol and its stack, step by step. You will learn all the related stuffs to write a carrier grade telecommunication … Continue reading

Posted in Dave's Tools, H.248/MEGACO/EGCP, Programming, Stuff about Compiler | Tagged , , , , , , , , | Leave a comment

RedHat 6 – Porting code to RH6

We are moving our product’s OS from RedHat 5 to 6, as well as new version of ‘gcc’ (4.X) along with RH6.  To port the existing code to RH6 with new compiler, there might be a lot of things we … Continue reading

Posted in OS, Programming, Stuff about Compiler | Tagged , , , | 1 Comment

side effect of “++” in C – compiler implemenation with assembly

This post shows a common known side effect of “++” operator in C programming because of different compiler implementation. Assembly code from PowerPC and x86 with gcc is provide to show the key difference and the reason why for this … Continue reading

Posted in Programming, Stuff about Compiler | Tagged , , , | Leave a comment

Intel x86 32-bit assembly – function call & stack frame

This post is originally written for a basic view on function call and stack frame in Intel x86 32-bit assembly code. EBP and ESP are the focus. A stack layout pic with dynamic register changes is also down there. May … Continue reading

Posted in Programming, Stuff about Compiler | Tagged , , , , , , | 1 Comment

Print unsigned long long – SegV in C

This post shows a potential bug in printing unsigned long long, which cost David, Leo and me a few days for debugging. One product got segv on cPSB lab – a platform based on MontaVista Linux and PowerPC CPU. Back … Continue reading

Posted in Programming, Static Code Analysis, Stuff about Compiler | Tagged , , , | 2 Comments