Fixed it
GDT_table:
db GDT_end - GDT_start - 1
db GDT_start
as you can see here.. I defined 2 bytes in the GDT_table but thats not what the CPU expects.. it expects a 6 bytes but of course I didn't know that..
anyways the fix was:
GDT_table:
dw GDT_end - GDT_start - 1
dd GDT_start