title: Trouble in getting _bss_start through in assembly
body: <p>I wanted to print the address of bss start using CONSTANT __bss_start . I made a simple programe which wil print the addres of bss section.Below is the code </p>
  
  <pre><code> section .bss
   section .data
   x db "value is =%ld"
   section .text
  ;extern alt_u32* __bss_start;
  
  global main
  extern  __bss_start;
  extern printf
  main:
  mov bx,__bss_start
  push bx
  push x
  call printf
  add esp,8
  ret
  </code></pre>
  
  <p>When I run gcc -m32 -o bss_start.o to get final executable,getting below error</p>
  
  <pre><code>    bss_start.asm:(.text+0x2): relocation truncated to fit: R_386_16 against symbol `__bss_start' defined in *ABS* section in bss  
  </code></pre>
  
  <p>What could be problem here??</p>