i386 and x86_64 TLSDESC relocations to local symbols broken in gold

Ian Lance Taylor iant@google.com
Sat Sep 13 19:04:00 GMT 2008


Alexandre Oliva <aoliva@redhat.com> writes:

>>From  Alexandre Oliva  <aoliva@redhat.com>
>
> 	* options.h (General_options::output_is_executable): New.
> 	(General_options::output_is_pie): New.
> 	* i386.cc (Target_i386::define_tls_base_symbol): Use SEGMENT_START
> 	for shared libraries.
> 	* x86_64.cc (Target_x86_64::define_tls_base_symbol): Likewise.


> +  // Return true if the output is a position-independent executable.
> +  // This is currently not support.

s/support/supported/


> -				       Symbol::SEGMENT_END, true);
> +				       is_exec
> +				       ? Symbol::SEGMENT_END
> +				       : Symbol::SEGMENT_START,
> +				       true);

Please use parentheses around the ?: expression
   (is_exec
    ? Symbol::SEGMENT_END
    : Symbol::SEGMENT_START),

If you can correct the comment in front of the function, that would be
nice.


> +				       is_exec
> +				       ? Symbol::SEGMENT_END
> +				       : Symbol::SEGMENT_START,
> +				       true);

Same here, for both the parentheses and the comment.

OK with those changes.

Thanks a lot!

Ian



More information about the Binutils mailing list